Tôi đang viết một thủ tục lưu trữ trong đó tôi có một tham số đầu vào được gọi là my_size là một int, tôi muốn có thể sử dụng trong một mệnh đề giới hạn trong một câu lệnh chọn. Rõ ràng điều này không được hỗ trợ, có cách nào để giải quyết vấn đề này không?Điều khoản giới hạn biến trong MySQL
# I want something like:
SELECT * FROM some_table LIMIT my_size;
# Instead of hardcoding a permanent limit:
SELECT * FROM some_table LIMIT 100;
Nếu bạn có kiểm soát phiên bản của MySQL bạn sử dụng, nó trông như thế này là cố định bắt đầu từ năm v5.5.6. http://bugs.mysql.com/bug.php?id=11918 – Hammerite
tìm thấy một giải pháp đơn giản khác http://stackoverflow.com/a/4315661 – user3011839
Lưu ý rằng trong * MySQL 5.7.16 * (và có thể những người khác) thì ' LIMIT @nrows OFFSET @ noffset' trong một thường trình được lưu trữ dường như bị từ chối quá, trong khi một 'LIMIT nrows OFFSET noffset' được chấp nhận, miễn là bạn' DECLARE nrows INT; DECLARE noffset INT' lúc bắt đầu thường lệ. – Xenos