This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’。
字面意思就是不支持在子查詢中使用limit關鍵字。
經過搜索,找到了替代解決方法。
就是在limit的子查詢外層再加一層子查詢。
比如:
原先可能是報錯的sql語句是:select * from cidy where id in (select id from cidy limit 0,10);
經過修改的sql就是:select *from cidy where id in (select id from (select id from cidy limit 0,10));
經過測試,修改過的sql語句執行時報錯:Every derived table must have its own alias。
錯誤的字面意思是:需要別名
從上面的sql語句中可以看到,我們多加的一層sql不僅沒有別名更沒有表名,會不會在這里出問題呢?測一下就知道了~
經過修改后的sql語句就是:select *from cidy where id in(select id from(select id from cidy limit 0,10) as cd);
經過測試,如我們所想,終於成功了。