this version of mysql doesn』t yet support 『limit & in/all/any/some 錯誤解決
這次國慶節回來後的測試中,在乙個mysql表示式中使用巢狀查詢,出現了這個錯誤。原因是內層select語句帶有limit子句。
在網上查了下,有文章指出:
比如這樣的語句是不能正確執行的。
select
*from
table
where id in
(select id from
table limit 12)
;但是,只要你再加一層就行。如:
select
*from
table
where id in
(select t.id from
(select
*from
table limit 12)
as t)
這樣就可以繞開limit子查詢的問題。
問題解決。
後來我發現,上述是解決問題的乙個方法,其實還有乙個更好的做法,就是把限制條件放到from而非where子句中,就不必出現巢狀再巢狀。
如上例,可以改為:
select * from (select id from table limit 12) as foo;
注意:其實as foo特別重要,如果不寫成from () as ***的形式,即不給from後的select語句構成表名,那麼最後系統仍會報錯。
mysql不支援 MySQL不支援的特性
mysql 1 不支援物化檢視。2 不支援位圖索引。3 不支援並行查詢。4 不支援雜湊關聯,mysql的所有關聯都是巢狀迴圈關聯。不過,可以通過建立乙個雜湊索引來曲線實現。5 不允許對同一表同時進行查詢和更新。報錯 update tb1 as outer tb1 set cnt select cou...
mysql子查詢不支援limit問題解決
this version of mysql doesn t yet support limit in all any some 錯誤解決 這次國慶節回來後的測試中,在乙個mysql表示式中使用巢狀查詢,出現了這個錯誤。原因是內層select語句帶有limit子句。在網上查了下,有文章指出 比如這樣的...
mysql不支援top 支援limit
今天偶爾發現mysql居然不支援top語句,之前用hibernate記得用過top語句。原因是 mysql的確是不支援top語句,之前用的是hql語句,是hibernate幫你翻譯成mysql支援的語句的。通常hibernate的用法 select top 5 id,name,password fr...