LIMIT支持MySQL

时间:2010-04-08 13:51:16

标签: mysql

我正在尝试执行以下查询。

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'

5 个答案:

答案 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)

mysql 5.5但不支持子查询中的限制

http://dev.mysql.com/doc/refman/5.5/en/subquery-errors.html

你需要修复你的查询