MySQL UPDATE syntax with multiple tables using WHERE clause(MySQL UPDATE 语法与使用 WHERE 子句的多个表)
问题描述
如何使用 table2
中 id
相等的数据更新 table1
?
How to update table1
with data from table2
where id
is equal?
当我运行以下更新语句时,它会更新 table1
中的所有记录(即使 table1
中的 id
字段不存在在 table2
).
When I run the following update statement, it updates all the records in table1
(even where the id
field in table1
does not exist in table2
).
如何使用多更新表语法,仅更新 table1
中的记录,仅在 table2
中存在 id
的位置和平等?
How can I use the the multiple update table syntax, to update ONLY the records in table1
ONLY where the id
is present in table2
and equal?
UPDATE table1,table2
SET table1.value=table2.value
WHERE table2.id=table1.id
提前致谢.
推荐答案
下面是 UPDATE
with join in MySQL
的正确语法
here's the correct syntax of UPDATE
with join in MySQL
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value
- SQLFiddle 演示
这篇关于MySQL UPDATE 语法与使用 WHERE 子句的多个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MySQL UPDATE 语法与使用 WHERE 子句的多个表
基础教程推荐
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01