如果另一个表中存在行的id,我想更新mysql表数据。
Table1有一个名为ID的列。表2也有相同的列。如果表中都存在一行,则应更新该行。
编辑:我想更新table1中ID存在于table2中的每一行。
请帮忙。提前致谢。顺便说一下,我正在使用PHP。
答案 0 :(得分:2)
您可以使用子查询检查另一个表中是否存在该行:
update table2 set xyz_column = 'some value'
where id = ?
and exists (select 1 from table1 where id = ?)
或简单地说:
update table2 set xyz_column = 'some value'
where id = (select id from table1 where id = ?)
根据编辑,即如果要更新table2中存在id的table1的所有行,可以使用update join:
update table1 t1
join table2 t2 on t1.id = t2.id
set t1.xyz_column = 'some value';