mysql ignore_dup_key,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

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值