我们遇到了主键问题。它被设置为一个有意义的值以便于数据输入,因为所有数据最初都是直接添加的。但是现在有意义的值并不总是出现在所有条目中。所以现在我们正在转向一个自动生成的、无意义的 key 。但我必须更新数据库以反射(reflect)这一点。
所以我的产品表有列 serial(原始键)和 Id(新 PK)。我的零件表有 2 列 FK_serial(旧 FK)和 FK_product(新 FK,当前所有条目都设置为 0)。
是否有 UPDATE 语句遍历 parts 表并将 FK_product 设置为产品表中 id 的值,其中 serial = FK_serial?
最佳答案
UPDATE parts
JOIN products
ON parts.FK_serial = products.serial
SET parts.FK_product = products.Id;
关于mysql - 主键更改后使用更新重构外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284657/