回答

收藏

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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则