我一直在做一些研究,但我发现用SELECT
语句故意嵌套UPDATE
查询是不可能的。我已经看到有一些可能的解决方法,包括创建表的临时虚拟副本,因为显然您无法同时更新和选择同一个表。
我无法让任何一个例子起作用,所以我回到原点。下面你将看到我喜欢的视觉表现形式。
嵌套的SELECT
查询将返回4或5个ID,并且我希望为每个行更新一列到0
。我希望我想做的事情有道理。
提前感谢您的所有帮助和见解。
UPDATE
`my_table`
SET
`my_column_1` = 0
WHERE
`id`
IN (
SELECT
`id`
FROM
`my_table`
WHERE
`my_column_2` = 35
AND
`my_column_3` = 3
AND
`id` != 136
)
答案 0 :(得分:3)
为什么不像这样使用WHERE
:
UPDATE
`my_table`
SET
`my_column_1` = 0
WHERE
`my_column_2` = 35
AND `my_column_3` = 3
AND `id` != 136
这将只更新所需的行而不先选择它们。