mysql - 更新一个表中的字段,该表中的另一个字段=另一个表中的字段
问题描述:
需要mysql查询帮助。我有2个表格 - table1和table2。我正在尝试更新table1中未包含在table2中的字段 - 名为Status。我想用'A'的值更新该字段。 table1和table2 DO有一个共同的字段 - 名为Member_ID。这是我的查询是给我的错误:mysql - 更新一个表中的字段,该表中的另一个字段=另一个表中的字段
UPDATE table1 SET Status='A' WHERE Member_ID=table2.Member_ID;
是否有某种类型的连接是需要的?任何帮助,将不胜感激。谢谢。 cdr6800
答
这是可以做到与存在
UPDATE table1 s
SET s.status = 'A'
WHERE EXISTS(select 1 from table2 t
WHERE t.member_id = s.member_id)
答
你必须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
。
非常感谢您Giorgos。工作很棒!祝你今天愉快。 – cdr6800
@ cdr6800很高兴我能够帮助。如果它帮助你解决你的问题,请将它标记为或接受任何其他答案。 –