MySQL:从另一个表中具有匹配键的行更新表中的行

标签 mysql

我有一张 table users使用现有数据,并将更新后的数据上传到临时表 users_temp .

我正在尝试创建两个查询,一个用于更新 namedepartment_id users 中的行数据来自 users_temp关于匹配id .

另一个删除 users 中的行没有匹配 idusers_temp .

请帮忙。

最佳答案

您可以通过在您的更新中添加一个连接来做到这一点。

UPDATE users u 
INNER JOIN users_temp ut on u.id = ut.id //or whatever the matching fields are
SET u.name = ut.name, u.department_id = ut.department_id;

我敢肯定有人会为第二个查询提供更有效的示例,但这可以解决问题:

Delete all rows which has no id existing in another table

关于MySQL:从另一个表中具有匹配键的行更新表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357446/

相关文章:

MySQL If (SELECT count (*) 返回 #1064 错误

php - 使用 PHP 将 IP 地址存储在 MySQL 数据库中

python - 递归搜索和MySql比较

php - 第 52 行 mysqli_result 类的对象无法转换为字符串

php - PHP 中的 MySQL 查询不再有效

javascript - Serverworker 似乎使 ajax 请求极其缓慢

php - symfony 中的多重连接 : Error: Expected =, <, <=, <>, >, >=, !=

php - 从数据库中检索没有相同 ID 的记录

php - 在 SELECT 中更改 MySQL DB 列值

mysql - 加入限制结果的查询