我试过了:
UPDATE giveaways SET winner = '1' WHERE ID = (SELECT MAX(ID) FROM giveaways)
但是它给出:
#1093-您不能为FROM子句中的更新指定目标表’giveaways’
FROM
这篇文章似乎相关,但我无法使其适应我的查询。我如何使它工作?
这是因为您的更新可能是周期性的......如果更新该记录将导致事情发生这使得WHERE条件FALSE?您知道并非如此,但引擎并非如此。操作中桌子上也可能有相反的锁。
WHERE
FALSE
我认为您可以这样做(未经测试):
UPDATE giveaways SET winner = '1' ORDER BY id DESC LIMIT 1
阅读更多