我需要用里面的选择来更新一个表。到目前为止,这是我的查询:
Update T_STATO_CASA
Set UTENTE = 'Admin'
Where ID_CASA in (
Select ID
From T_CASA
Where ID_RICHIESTA
In (437869, 437233, 437235, 437876)
)
但它返回以下错误:“子查询返回超过 1 个值。当子查询跟随时,这是不允许的
=, !=, <, <= , >, >=
或者当子查询用作表达式时。" 如果我单独运行,子查询正好返回 4 个结果。我的语法错了吗?谢谢。
编辑:所有使用 JOIN 的建议解决方案都会给我语法错误,就好像 MySql 只需要 update-set-where 命令序列一样。例如我不能写类似的东西
update T_STATO_CASA as x
set [...]
where [...]
因为它给我语法错误:“单词 AS 附近的语法不正确。预期的 SET”
最佳答案
UPDATE t_stato_casa x
JOIN t_casa y
ON y.id = x.id_casa
SET x.utente = 'admin'
WHERE y.id_richiesta IN(437869, 437233, 437235, 437876)
关于MySql - 使用选择更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51668451/