Khi gặp lỗi cú pháp MySQL liên quan đến OPTION SQL_SELECT_LIMIT, bạn nên biết rằng lệnh SET OPTION đã bị loại bỏ (deprecated) từ các phiên bản MySQL mới. Thay vào đó, hãy sử dụng cú pháp SET SQL_SELECT_LIMIT trực tiếp.
Cú pháp đúng
SET SQL_SELECT_LIMIT=giá_trị_số_nguyên_của_bạn;
Ví dụ minh họa
Đầu tiên, tạo một bảng demo:
mysql> CREATE TABLE MySQLSelectDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
-> );
Query OK, 0 rows affected (0.99 sec)
Chèn 37 bản ghi vào bảng:
mysql> INSERT INTO MySQLSelectDemo VALUES(),(),(),(),(),(),(),(),(),(),
-> (),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();
Query OK, 37 rows affected (0.20 sec)
Records: 37 Duplicates: 0 Warnings: 0
Xem tất cả bản ghi:
mysql> SELECT * FROM MySQLSelectDemo;
Trường hợp 1: Giới hạn 3 bản ghi
mysql> SET SQL_SELECT_LIMIT=3; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM MySQLSelectDemo;
Kết quả chỉ trả về 3 bản ghi đầu tiên:
+----+ | Id | +----+ | 1 | | 2 | | 3 | +----+ 3 rows in set (0.00 sec)
Trường hợp 2: Giới hạn 10 bản ghi
mysql> SET SQL_SELECT_LIMIT=10; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM MySQLSelectDemo;
Kết quả trả về 10 bản ghi đầu tiên:
+----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +----+ 10 rows in set (0.00 sec)
Lưu ý: SQL_SELECT_LIMIT là biến phiên (session variable), nên thiết lập này chỉ ảnh hưởng đến phiên kết nối hiện tại. Khi ngắt kết nối, giá trị sẽ trở về mặc định.