Tôi đang cố chèn bản ghi 15530 vào một bảng nào đó bằng cách sử dụng vỏ SQLite3 nhưng tôi nhận được lỗi đó, tôi đã tìm kiếm giải pháp SQLITE_MAX_COMPOUND_SELECT mặc định là 500 là lý do, nhưng tôi không biết cách thay đổi nó bằng Shell.Vấn đề SQLite khi chèn số lượng lớn các bản ghi
"Lỗi: quá nhiều điều khoản trong hợp chất SELECT"
http://desmond.imageshack.us/Himg861/scaled.php?server=861&filename=sqlite.jpg&res=landing
INSERT INTO table_name (my_id, my_name) VALUES
(1, 'Aaliyah'),
(2, 'Alvar Aalto'),
(3, 'Willie Aames'),
...
(15530, 'name');
Cài đặt SQLITE_MAX_COMPOUND_SELECT không phải là vấn đề của bạn. * Bạn cần giảm số lượng các thuật ngữ trong câu lệnh SELECT. * Hiển thị cho chúng tôi mã bạn đang sử dụng. –
@RobertHarvey, tốt, đó là giải pháp. Nhưng giới hạn mã hóa/kích thước mảng cứng, trong khi ngăn cản một nhà phát triển trở nên điên rồ hoặc thậm chí là có hiệu suất cao hơn các lựa chọn thay thế, là một điều đáng tiếc ở bên phải của riêng họ. Nó không giống như sqlite có tương đương với 'xargs' để tự động chia nhỏ chèn số lượng lớn thành các câu lệnh lớn nhất có thể (hoặc kích cỡ thông dụng nhất)… (hoặc không?) – binki