MySql 外键重名问题

时间:2023-03-09 04:51:14
MySql 外键重名问题

在使用mysql workbench 来设计数据库模型时可能一不注意就会出现外键约束重名的情况,并在执行sql语句是会报这样的错误:

Error 1022 - Can't write; duplicate key in table....

解决方法很简单,就是找出重名的约束就并改名就Ok了。以下是两种途径修改名称:

1.在workbench的模型设计中,外键约束设置如下图:

MySql 外键重名问题

                        (图1)

直接修改值即可

2.Foreign Key Name字段就是外键约束的key,必须唯一,例如图1中 batch_goods_id对应sql语句

 CONSTRAINT `batch_goods_id` FOREIGN KEY (`s_goods_id` ) REFERENCES  `ShopManagement.`shop_goods` (`goods_id`)

修改 constraint 后的值即可(注意是外键约束的sql语句)