这样是不行的
UPDATE `table_name`
SET `column_1` = value
WHERE `column_2` IN
(SELECT * FROM `table_name`
WHERE `column` = value
)
必须得这样:
UPDATE `table_name` AS alias_1
INNER JOIN
(SELECT * FROM `table_name` WHERE `column` = value) AS alias_2
SET alias_1.column_1 = value
WHERE alias_1.id = alias_2.id
转载在Mysic,博客园
本文介绍了一种使用SQL进行数据更新的有效方法。通过展示如何正确地使用INNER JOIN子句来替代不正确的IN子句,确保数据更新操作能够准确无误地执行。文章提供了具体的SQL语句示例,帮助读者理解如何避免常见错误并实现精确的数据更新。
4万+





