[英]MySQL: How can I change a field that has a foreign key constraint?
我有两个通过外键约束链接的表。 我想更改一个ID字段,但是以下代码由于外键约束而失败:
UPDATE A SET id = 1479 WHERE id = 2103;
UPDATE B SET Aid = 1479 WHERE Aid = 2103;
我知道我可以将ON CASCADE
设置为自动执行此操作,但是如何按这样的情况进行操作?
通过禁用外键检查并运行事务中的所有内容。
START TRANSACTION;
SET FOREIGN_KEY_CHECKS = 0;
UPDATE A SET id = 1479 WHERE id = 2103;
UPDATE B SET Aid = 1479 WHERE Aid = 2103;
SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
采用
SET FOREIGN_KEY_CHECKS=0;
在更新查询之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.