Era*_*ray 26 mysql sql select subquery mysql-error-1093
我试过了:
UPDATE giveaways SET winner = '1' WHERE ID = (SELECT MAX(ID) FROM giveaways)
Run Code Online (Sandbox Code Playgroud)
但它给出了:
#1093 - 您无法为update in
FROM子句指定目标表'giveaways'
这篇文章看似相关,但我无法将其改编为我的查询.我怎样才能让它发挥作用?
ipr*_*101 38
基于您链接的文章中的信息应该有效:
update giveaways set winner='1'
where Id = (select Id from (select max(Id) as id from giveaways) as t)
Run Code Online (Sandbox Code Playgroud)
Mat*_*hew 28
这是因为您的更新可能是周期性的......如果更新该记录将导致事情发生这使得哪些WHERE条件FALSE?你知道情况并非如此,但引擎却没有.操作中桌面上也可能存在相反的锁定.
我认为你可以这样做(未经测试):
UPDATE
giveaways
SET
winner = '1'
ORDER BY
id DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
Nic*_*ssu 13
update giveaways set winner=1
where Id = (select*from (select max(Id)from giveaways)as t)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49371 次 |
| 最近记录: |