當我將太多數據插入sqlite數據庫文件時,出現錯誤「複合SELECT中的術語太多」。我使用「insert into ... select ... union select ... union ...
」。我知道這是太多的選擇語句,但我的問題是:複合SELECT語句中的最大條數是多少?SQLite錯誤:複合SELECT中的術語太多
11
A
回答
24
複合SELECT語句是由運算符UNION,UNION ALL,EXCEPT或INTERSECT連接的兩個或多個SELECT語句。我們將複合SELECT中的每個SELECT語句稱爲「術語」。
SQLite中的代碼生成器使用遞歸算法處理複合SELECT語句。爲了限制堆棧的大小,我們因此限制了複合SELECT中的術語數量。最大數量的條款是SQLITE_MAX_COMPOUND_SELECT,默認爲500.我們認爲這是一個慷慨的分配,因爲在實踐中我們幾乎從不會看到複合選擇中的術語數超過單個數字。
使用sqlite3_limit(db,SQLITE_LIMIT_COMPOUND_SELECT,size)接口,可以在運行時降低複合SELECT條件的最大數目。
瞭解更多詳情請查看本... http://www.sqlite.org/limits.html
-6
相關問題
- 1. SQLite - SELECT TOP語法錯誤
- 2. Prolog複合術語
- 3. Android SQLite SELECT語法錯誤apex
- 4. 編譯時出現語法錯誤:Sqlite中的SELECT語句
- 5. Prolog中的複合術語和列表
- 6. 加速Elasticsearch術語聚合/ SELECT DISTINCT
- 7. sqlite中的SELECT INTO語句
- 8. 錯誤C#/ MySQL的多個SELECT語句
- 9. sqlite的SELECT語法
- 10. INSERT WITH SELECT查詢在SQLITE中給我的語法錯誤?
- 11. SQL:在select語句的集合函數算術運算顯示錯誤信息
- 12. sqlite SELECT查詢錯誤
- 13. SQL select語句中的語法錯誤
- 14. 算術mysql的select語句 - 內存大小錯誤
- 15. 語法錯誤「SELECT」
- 16. select語句錯誤
- 17. SQLite Select語句在Android查詢執行中給出錯誤
- 18. SELECT語句結合多行
- 19. 語法錯誤sqlite
- 20. SQLite語法錯誤
- 21. SQlite concat select語句
- 22. Sqlite語句語法錯誤
- 23. Perl「錯誤太多」錯誤
- 24. 複合多項式錯誤
- 25. SQLite的:SELECT語句,並顯示`null`值太大
- 26. elasticsearch中的巨大術語錯誤
- 27. SQL SELECT語句中的算術操作
- 28. SQLite的錯誤語法錯誤
- 29. SQLite的語法錯誤
- 30. SQLite的語法錯誤
謝謝你這麼多的數量是有限的。我的SELECT語句已經過了500! – 2012-03-02 06:06:20
嗯它不應該通過500! :) – shofee 2012-03-02 06:07:35
@shobi由於舊版本的sqlite(<3.7.11)不允許使用INSERT INTO tablename(columnname)VALUES(value1),(value2)...插入多個行,所以很容易結束使用> 500 UNION術語來解決這個問題,例如INSERT INTO tablename(columnname)SELECT value1 AS'columnname' UNION SELECT value2 UNION SELECT value3 ... UNION SELECT value999 – sdjuan 2012-08-19 23:47:55