gpt4 book ai didi

mysql - 如何在 UPDATE 查询中使用同一个表中的数据?

转载 作者:行者123 更新时间:2023-11-29 08:06:04 25 4
gpt4 key购买 nike

update accounts set password=(select password from accounts where name='joongsu') 
where id=(select accountid from characters where name='Nobless')

它不适用于错误消息“您无法在 FROM 子句中指定用于更新的目标表“帐户””

为什么不起作用?上面的选择查询仅返回 1 行。

最佳答案

也许你应该尝试this one :

UPDATE accounts
SET accounts.password =
(
SELECT something.password
FROM (SELECT * FROM accounts) AS something
WHERE something.name='joongsu'
)
WHERE accounts.id=(SELECT accountid FROM characters WHERE name='Nobless');

这是一个 hack,但我测试了它并且它适用于我的测试数据。由于某种原因,MySQL 不允许在内部查询中使用与正在更新的表相同的表。

关于mysql - 如何在 UPDATE 查询中使用同一个表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com