相信大家使用navicat时比较常用到数据同步功能
选择需要同步的表,比对数据,执行,完成数据同步。
正常表单使用int类型或者varchat类型主键(存储数据为数字时)对比不会出现问题
但是遇到varchat类型存储的是base58或其他存在大小写字母和数字类型数据时,对比数据给出的结果往往不太对
例如数据库A表的表和数据库B表存完全一样的数据时,对比出来结果是删除后在新增一条,而不是相同或者更新
此时就需要调整varchat主键列排序规则,改为Bin 或者 C(不同数据库排序规则也不一样目前在mysql和postgresql中测试可行,可自行测试),调整完成后在进行数据对比即可获得正确的结果