我正在尝试执行以下查询。
update share set holder = 22 where SHARE_ID IN (select SHARE_ID from SHARE WHERE holder=1 LIMIT 10)
当我尝试执行上述查询时,我收到此错误
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
答案 0 :(得分:2)
UPDATE share
SET holder = 22
WHERE holder = 1
ORDER BY
share_id
LIMIT 10
由于优化程序问题,LIMIT
子句不支持IN
。
答案 1 :(得分:1)
你为什么不试试
UPDATE share
SET holder = 22
WHERE holder=1 LIMIT 10
但是,有关详细信息,请阅读mysql doc。 “限制”和“排序依据”不能与多表更新查询一起使用,这不是您的情况。
答案 2 :(得分:0)
您的错误是您使用IN而MySQL不支持,因此您需要另一种方式来处理查询。您可能想要考虑做的事情,如果这不是您经常需要的查询,则将“IN查询”转储到表中,然后执行连接并对其进行检查。
答案 3 :(得分:0)
错误消息告诉您该问题,您正在使用的MySQL版本不支持您尝试使用的查询语法。
您需要重新考虑您的查询以使用当前MySQL版本支持的进程。
答案 4 :(得分:0)