在使用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語句)