如何根据另一个表中的值设置一个表的字段

时间:2017-06-11 13:25:20

标签: mysql sql join

我有两张桌子。第一个包含ID列表。第二个有更大的ID列表。我想只更新第二个表,如果它不存在于第一个表中。这并没有抓住所有这些:

UPDATE TableB
LEFT OUTER JOIN TableA
ON TableB.id = TableA.id
SET TableB.Status = "Inactive"
WHERE TableB.id IS NULL;

1 个答案:

答案 0 :(得分:0)

你很接近,假设TableB是“第二”表:

UPDATE TableB b LEFT OUTER JOIN
       TableA a
       ON b.id = a.id
    SET b.Status = 'Inactive'
WHERE a.id IS NULL;
------^

您的WHERE子句引用了错误的表格。