繁体   English   中英

MySQL:如何更改具有外键约束的字段?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM