我有两张桌子。第一个有id(AI)字段和old_id(Int)字段。
第二个表具有来自第一个表的引用字段p_id old_id作为关系点。
我想将p_id更新为firstTable.id值。是否可以用firstTable.id返回的值更新secondTable.p_id?
这是我的测试sql:
UPDATE secondTable sT
SET sT.p_id = (
SELECT fT.id
FROM firstTable fT
WHERE fT.old_id = secondTable.p_id
)
最佳答案
您可以使用JOIN
进行如下更新:
UPDATE secondTable sT
INNER JOIN firstTable fT ON fT.old_id=secondTable.p_id
SET sT.p_id = fT.id;
关于mysql - 是否可以使用包含嵌套查询表本身的另一个嵌套查询来更新结果表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15112520/