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

Dav*_*nes 3 mysql foreign-keys foreign-key-relationship

我有两个通过外键约束链接的表。我想更改 ID 字段,但由于外键约束,以下代码失败:

UPDATE A SET id = 1479 WHERE id = 2103;
UPDATE B SET Aid = 1479 WHERE Aid = 2103;
Run Code Online (Sandbox Code Playgroud)

我知道我可以设置ON CASCADE自动执行此操作,但是如何根据具体情况执行此操作?

Xan*_*ndl 6

通过禁用外键检查并运行事务中的所有内容。

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;
Run Code Online (Sandbox Code Playgroud)