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) 

你必须JOINtable1table2这样的:

UPDATE table1 AS t1 
INNER JOIN table2 AS t2 ON t1.Member_ID = t2.Member_ID 
SET t1.Status='A' 

这将更新所有table1记录有Member_ID值也存在于table2

+0

非常感谢您Giorgos。工作很棒!祝你今天愉快。 – cdr6800

+0

@ cdr6800很高兴我能够帮助。如果它帮助你解决你的问题,请将它标记为或接受任何其他答案。 –