gpt4 book ai didi

MySQL 更新 .. WHERE IN .. RAND() .. LIMIT

转载 作者:行者123 更新时间:2023-11-30 01:36:27 28 4
gpt4 key购买 nike

好吧,这是一个奇怪的查询,我知道:

UPDATE `entries`
SET `winner` = 1
WHERE `subscriber_id` IN (19, 128, 127, 125, 150)
ORDER BY RAND()
LIMIT 3

subscriber_id 明确显示,所有获胜者字段值为 0。

有时它会更新所有 3 行,有时会更新更少,并且可能会发生它不更新任何内容的情况。

当我在此查询中使用EXPLAIN时,它会给出完全无用的错误代码:1064。您的SQL语法有错误;错误。

您能否确认(或否认)我的查询有效?为什么会产生上述不同的结果?

提前致谢

最佳答案

您能否确认所有获胜者字段都不同于 1。可能它会尝试更新已设置为 1 的行。否则看起来没问题。 EXPLAIN 语句仅适用于 5.6 之前版本的 MySQL 服务器上的 SELECT 语句,因此这可能是它失败的原因

关于MySQL 更新 .. WHERE IN .. RAND() .. LIMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16816801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com