在使用mysql workbench 来设计数据库模型时可能一不注意就会出现外键约束重名的情况,并在执行sql语句是会报这样的错误:
Error 1022 - Can't write; duplicate key in table....
解决方法很简单,就是找出重名的约束就并改名就Ok了。以下是两种途径修改名称:
1.在workbench的模型设计中,外键约束设置如下图:
(图1)
直接修改值即可
2.Foreign Key Name字段就是外键约束的key,必须唯一,例如图1中 batch_goods_id对应sql语句
1 CONSTRAINT `batch_goods_id` FOREIGN KEY (`s_goods_id` ) REFERENCES `ShopManagement.`shop_goods` (`goods_id`)
修改 constraint 后的值即可(注意是外键约束的sql语句)