如何使用table1
中table2
相等的数据更新id
?
当我运行以下更新语句时,它会更新table1
中的所有记录(即使id
中table1
中的table2
字段不存在)。< / p>
如何使用多重更新表语法,仅更新table1
id
table2
中UPDATE table1,table2
SET table1.value=table2.value
WHERE table2.id=table1.id
所在位置的记录?
{{1}}
提前致谢。
答案 0 :(得分:25)
此处UPDATE
的正确语法加入MySQL
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value
答案 1 :(得分:4)
修改强> 对于MySql,它将是
UPDATE table1 t1 INNER JOIN
table2 t2 ON t2.id = t1.id
SET t1.value = t2.value
原始答案适用于SQL Server
UPDATE table1
SET table1.value = table2.value
FROM table1 INNER JOIN
table2 ON table2.id=table1.id
答案 2 :(得分:2)
你可以试试这个:
UPDATE TABLE1
SET column_name = TABLE2.column_name
FROM TABLE1, TABLE2
WHERE TABLE1.id = TABLE2.id
答案 3 :(得分:0)
UPDATE table1
SET table1.value = (select table2.value
WHERE table2.id=table1.id)