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

MySQL:如何更改具有外键约束的字段?,mysql,foreign-keys,foreign-key-relationship,Mysql,Foreign Keys,Foreign Key Relationship,我有两个由外键约束链接的表。我想更改ID字段,但由于外键约束,以下代码失败: UPDATE A SET id = 1479 WHERE id = 2103; UPDATE B SET Aid = 1479 WHERE Aid = 2103; 我知道我可以在CASCADE上设置,以自动执行此操作,但我如何才能像这样逐案执行此操作?通过运行事务中的所有内容 START TRANSACTION; SET FOREIGN_KEY_CHECKS = 0; UPDATE A SET id = 1479 W

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

UPDATE A SET id = 1479 WHERE id = 2103;
UPDATE B SET Aid = 1479 WHERE Aid = 2103;
我知道我可以在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;
使用


在更新查询之前

我想我最好去读一下事务…从来没有必要使用它们。你不需要事务,但是两个update语句之间的连接可能会断开。然后,您将很难“重建”您的密钥;)
SET FOREIGN_KEY_CHECKS=0;