需要有关mysql查询的帮助。我有2个表 - table1和table2。我正在尝试更新table1中未包含在table2中的字段 - 名为Status。我想用' A'的值来更新该字段。 table1和table2 DO有一个共同的字段 - 名为Member_ID。这是我的查询,它给了我错误:
UPDATE table1 SET Status='A' WHERE Member_ID=table2.Member_ID;
是否需要某种类型的连接?任何帮助,将不胜感激。谢谢。 cdr6800
答案 0 :(得分:1)
这可以通过存在
来完成UPDATE table1 s
SET s.status = 'A'
WHERE EXISTS(select 1 from table2 t
WHERE t.member_id = s.member_id)
答案 1 :(得分:0)
你必须JOIN
table1
到table2
这样:
UPDATE table1 AS t1
INNER JOIN table2 AS t2 ON t1.Member_ID = t2.Member_ID
SET t1.Status='A'
这将更新table1
中也存在Member_ID
值的所有table2
条记录。