Khi tôi chèn quá nhiều dữ liệu vào tệp cơ sở dữ liệu sqlite, một lỗi "quá nhiều cụm từ trong SELECT hợp chất" xảy ra. Tôi sử dụng "insert into ... select ... union select ... union ...
". Tôi biết đó là quá nhiều câu lệnh chọn, nhưng câu hỏi của tôi là: Số lượng tối đa các thuật ngữ trong câu lệnh SELECT ghép là gì?Lỗi SQLite: quá nhiều cụm từ trong hợp chất SELECT
Trả lời
Một câu lệnh SELECT phức hợp là hai hoặc nhiều câu lệnh SELECT được kết nối bởi các toán tử UNION, UNION ALL, EXCEPT hoặc INTERSECT. Chúng tôi gọi từng câu lệnh SELECT trong một hợp chất SELECT là "term".
Trình tạo mã trong các tiến trình SQLite ghép các câu lệnh SELECT sử dụng một thuật toán đệ quy. Để hạn chế kích thước của ngăn xếp, do đó chúng tôi giới hạn số lượng thuật ngữ trong một hợp chất SELECT. Số lượng thuật ngữ tối đa là SQLITE_MAX_COMPOUND_SELECT mặc định là 500. Chúng tôi nghĩ rằng đây là phân bổ hào phóng vì trong thực tế, chúng tôi hầu như không bao giờ thấy số lượng cụm từ trong một hợp chất được chọn vượt quá một chữ số.
Số lượng tối đa các thuật ngữ SELECT phức hợp có thể được giảm xuống trong thời gian chạy bằng giao diện sqlite3_limit (db, SQLITE_LIMIT_COMPOUND_SELECT, size).
để biết thêm chi tiết xin vui lòng kiểm tra này ... http://www.sqlite.org/limits.html
Không có giới hạn cho số lượng SELECT bạn sử dụng. Tất cả những gì bạn cần làm là kiểm tra xem danh sách các cột có phù hợp hay không với các cột INSERT.
trong sqlite có một giới hạn về số lượng trên báo cáo chọn pls kiểm tra xem nó đúng ... – shofee
- 1. Truy cập nhiều quá trình SQLite
- 2. Lucene: Cụm từ nhiều từ như cụm từ tìm kiếm
- 3. Chèn nhiều hàng trong SQLite
- 4. SELECT SUM() TỪ (SELECT (SELECT())
- 5. Kết hợp với cụm từ thông dụng trong Scala
- 6. Các biện pháp chất lượng cụm
- 7. chèn sqlite vào bảng select * from
- 8. Cụm từ biểu thức chính quy cho nhiều kết quả phù hợp trong javascript
- 9. SQLite: group_concat() nhiều cột
- 10. LINQ hợp chất chọn vấn đề
- 11. Chỉ mục hợp chất trong Apache Cassandra
- 12. Tạo sự kết hợp các chất nền từ một chuỗi
- 13. Excel: Tìm kiếm nhiều cụm từ trong một ô
- 14. Kết hợp cụm từ thông dụng trong Javascript
- 15. Lỗi "đệ quy quá nhiều" trong JQuery 1.3.2
- 16. JBoss Quá nhiều tệp Mở Lỗi
- 17. Tham gia [một từ mỗi hàng] thành các hàng cụm từ có [nhiều từ mỗi hàng]
- 18. Tạo trình lặp hợp chất trong F #
- 19. Lỗi MySQL "Quá nhiều kết nối"
- 20. Nhiều lần xuất hiện cụm từ thông dụng trong một hộp văn bản nhiều dòng
- 21. Tính hữu dụng của System.Diagnostics.Các hợp chất trong câu hỏi
- 22. "Quá nhiều nhân vật trong nhân vật lỗi đen"
- 23. Chức năng tổng hợp trong mệnh đề WHERE trong SQLite
- 24. Chạy nhiều nút cassandra (một cụm) từ cùng một máy?
- 25. LINQ + Cụm từ biểu thức không hợp lệ '>'
- 26. Độc SQL SELECT Trở nhiều hàng từ một bảng hàng
- 27. Bắt Tất cả $ _POST Từ Nhiều Select Value
- 28. truy vấn android sqlite với nhiều nơi
- 29. SQLite - Chạy tập lệnh SQL nhiều dòng từ tệp?
- 30. Chia biểu thức thành tập hợp các cụm từ
Cảm ơn bạn rất nhiều. Câu lệnh SELECT của tôi đã trôi qua 500! –
hmm không được vượt qua 500! :) .. – shofee
@shobi kể từ phiên bản cũ của sqlite (<3.7.11) không cho phép chèn nhiều hàng bằng cách sử dụng INSERT INTO tablename (columnname) VALUES (value1), (value2), ... nó rất dễ dàng để kết thúc lên với một workaround với> 500 UNION điều khoản cho một chèn đơn giản như INSERT INTO tablename (columnname) SELECT value1 AS 'columnname' UNION SELECT value2 UNION SELECT value3 ... UNION SELECT value999 – sdjuan