mysql-如何避免添加重复的外键约束

前端之家收集整理的这篇文章主要介绍了mysql-如何避免添加重复的外键约束 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想知道是否可以避免多次添加相同的外键约束?

例如:如果我执行下面的查询3次,则在PHPmyadmin中约束将存在3次…我第二次和第三次应用该查询都会被拒绝,这将是非常棒的.

ALTER TABLE `my_items_details`
ADD FOREIGN KEY (`items_id`) REFERENCES `my_items`(`item_id`)
ON DELETE RESTRICT
ON UPDATE CASCADE;
最佳答案
您可以给外键指定一个明确的名称,而不是让MysqL为您分配默认名称.

ALTER TABLE `my_items_details`
ADD FOREIGN KEY  `my_foreign_key`  (`item_id`) REFERENCES `my_items`(`item_id`)
ON DELETE RESTRICT
ON UPDATE CASCADE;

由于两个相同类型的对象不能具有相同的名称,因此该查询将在您第二次运行它时生成错误

Error: ER_FK_DUP_NAME: Duplicate foreign key constraint name ‘my_foreign_key’

Demo on DB Fiddle

猜你在找的MySQL相关文章