mysql - 更新1表中的字段,该表中的另一个字段=另一个表中的字段

时间:2016-03-01 14:48:14

标签: mysql

需要有关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

2 个答案:

答案 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 table1table2这样:

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

这将更新table1中也存在Member_ID值的所有table2条记录。