日期:2014-05-16  浏览次数:20783 次

mysql 子查询中limit问题
一个语句大概如下
update   table   set   ...   where   列名   in   (select   ...   limit   0,20)

查了一下,mysql好像是不支持在子查询里头有limit的,可是我是在想不出方法来绕过去,后面的子查询一定要只有20条记录的

我也想过先把子查询   select   ...   limit   0,20执行一下,把结果存在数组里头,可是不知道具体怎么实现,还能用in   语法么?请高手赐教

------解决方案--------------------

应该把字查询改为临时表格a,
update table set ... where 列名 in (select ... from ( select ... limit 0,20) a)

把你的字查询语句再次做一个表格,这样他在a表,而不是in字查询里出现limit