MySQL #1093 - 你不能在 FROM 子句中为更新指定目标表“giveaways”
技术问答
256 人阅读
|
0 人回复
|
2023-09-12
|
我试过了:+ ~5 J+ j% o Q/ b4 C! r; P
UPDATE giveaways SET winner = ‘1’ WHERE ID = (SELECT MAX(ID) FROM giveaways)
7 [* L- `8 H1 K" @$ P) y但它给出:' f+ Z- P5 P9 ]' y5 k: Q
1093 - 在更新中你不能FROM子句指定目标表giveaways”
! N6 f' M% x( G) F 解决方案:
+ N8 C! [3 j# r 这是因为你的更新可能是周期性的…如果更新记录会导致一些事情发生,从而导致WHERE条件发生FALSE怎么办?你知道情况并非如此,但发动机却不是如此。操作时,表面也可能有相反的锁。3 h/ i' t: L$ i* e- U$ S2 d: |
我想你可以这样做(未经测试):' L& f; |' z4 d; h
UPDATE giveawaysSET winner = '1'ORDER BY id DESCLIMIT |
|
|
|
|
|