mysql数据库结构同步时出错 Duplicate entry '2-0' for key 'tenders_id'
由于程序升级,利用Navicat工具同步两个MySQL数据库结构,源数据库为江湖家居V6.0至尊版,目标数据库为江湖家居V6.0标准版,先比对两个数据库,对比结果如下图:在右键,选择“全部校验”,在运行到如下同步`tenders_id`索引数据时出错。
CREATE UNIQUE INDEX `tenders_id` ON `jh_tenders_look`(`tenders_id`, `uid`) USING BTREE ;
显示错误提示如下:
Executing - DROP INDEX `tenders_id` ON `jh_tenders_look`
Completed
Executing - CREATE UNIQUE INDEX `tenders_id` ON `jh_tenders_look`(`tenders_id`, `uid`) USING BTREE
Failed - Error on Index tenders_id of Table jh_tenders_look - 1062 - Duplicate entry '2-0' for key 'tenders_id'
Synchronization Failed
--------------------------------------------------
解释:
更新jh_tenders_look数据表中的一条名为 'tenders_id'索引,栏位名为`tenders_id`和 `uid`字段;
发现 'tenders_id'索引中数据有错误,栏位名为`tenders_id`和 `uid`字段数值组合“2-0”不是唯一,即存在两条或以上“2-0”数值组合。
出错原因分析:
在同步数据时,源数据表中有一个栏位索引组合数据结构,栏位名为`tenders_id`和 `uid`,索引类型为Unique(唯一),如下图:
可是同步数据结构时发现目标数据表中,对应的两个索引栏位(字段),存在两个及以上“2-0”数组,并不是唯一,所以出错。
解决方法:
打开目标数据库中的 jh_tenders_look数据表,把其中`tenders_id`和 `uid`字段,中出现的相同数组,都改唯一,不要有重复数组即可。
页:
[1]