mysql 支持update子查询吗?

更新的时候用到嵌套查询
2025-04-24 21:00:07
推荐回答(1个)
回答1:

一般而言,不能更改表,并从子查询内的相同表进行选择。
例如,该限制适用于具有下述形式的语句:

DELETE FROM t WHERE ... (SELECT ... FROM t ...);
UPDATE t ... WHERE col = (SELECT ... FROM t ...);
{INSERT|REPLACE} INTO t (SELECT ... FROM t ...);

例外:如果为FROM子句中更改的表使用子查询,前述禁令将不再适用。
例如:

UPDATE t ... WHERE col = (SELECT (SELECT ... FROM t...)
AS _t ...);