如何避免添加重复的外键约束
How to avoid adding duplicate foreign key constraints
我想知道是否可以避免多次添加相同的外键约束?
示例:如果我执行下面的查询 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'
我想知道是否可以避免多次添加相同的外键约束?
示例:如果我执行下面的查询 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'