我试过了:
UPDATE giveaways SET winner = '1' WHERE ID = (SELECT MAX(ID) FROM giveaways)
但它给出了:
#1093 - 您无法在FROM子句中为更新指定目标表'giveaways'
This article似乎相关但我不能适应我的查询 . 我怎样才能让它发挥作用?
我试过了:
UPDATE giveaways SET winner = '1' WHERE ID = (SELECT MAX(ID) FROM giveaways)
但它给出了:
#1093 - 您无法在FROM子句中为更新指定目标表'giveaways'
This article似乎相关但我不能适应我的查询 . 我怎样才能让它发挥作用?
6 回答
这是因为您的更新可能是周期性的...如果更新该记录会导致某些事情发生,导致
WHERE
条件FALSE
?你知道那不是't the case, but the engine doesn' . 在操作中桌面上也可能存在相反的锁定 .我认为你可以这样做(未经测试):
Read more
基于您链接到此文章的文章中的信息应该有效:
利用TEMP TABLE:
如下:
您可以先创建子查询的视图,然后从视图中选择更新/删除 . 只需记住删除视图 .