如果id存在于另一个表中,则更新表数据

时间:2018-01-28 09:38:06

标签: php mysql

如果另一个表中存在行的id,我想更新mysql表数据。

Table1有一个名为ID的列。表2也有相同的列。如果表中都存在一行,则应更新该行。

编辑:我想更新table1中ID存在于table2中的每一行。

请帮忙。提前致谢。顺便说一下,我正在使用PHP。

1 个答案:

答案 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';