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

标签 php mysql

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

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

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

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

最佳答案

您可以使用子查询检查该行是否存在于另一个表中:

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

关于php - 如果 id 存在于另一个表中则更新表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48484961/

相关文章:

php - MySQL 排序问题

php - 代码点火器 : losing session data after login

MySQL:从表中删除除 20 行以外的所有行?

php - 访问数组 PHP 中的数组

php - 如何使用codeigniter join函数从同一个表获取两个id数据

mysql - mysql存储过程中超出范围的溢出处理

java - tomcat java php

php - Magento Configurable Product 工作但在重新保存之前不显示

php - 带注释的 Laravel 5 中的路由模型绑定(bind)

mysql - MySQL中的 'insert if not exists'怎么办?