Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Klausa LIMIT MySQL?
Dalam MySQL, menggunakan pembolehubah dalam klausa LIMIT boleh memberikan cabaran apabila bekerja dengan prosedur tersimpan yang melibatkan parameter input integer seperti 'my_size .' Pelaksanaan asli tidak menyokong fungsi ini secara langsung. Walau bagaimanapun, terdapat beberapa laluan untuk memintas had ini.
Jika versi MySQL lebih awal daripada 5.5.6 sedang digunakan, atau jika prosedur yang disimpan tidak diingini, subquery dengan WHERE klausa dan ROWNUM boleh berfungsi sebagai penyelesaian yang berkesan.
SET @limit = 10; SELECT * FROM ( SELECT instances.*, @rownum := @rownum + 1 AS rank FROM instances, (SELECT @rownum := 0) r ) d WHERE rank < @limit;
Pendekatan lain melibatkan membina pertanyaan secara dinamik menggunakan penggabungan rentetan, memberikan hasil kepada pembolehubah, dan kemudian melaksanakan pertanyaan yang disediakan.
SET @query = 'SELECT * FROM some_table LIMIT ' || my_size; PREPARE stmt FROM @query; EXECUTE stmt;
Sebagai alternatif, pernyataan yang disediakan menawarkan kaedah untuk menghantar parameter kepada pernyataan SQL dinamik, termasuk LIMIT fasal.
SET @limit = 10; PREPARE stmt FROM 'SELECT * FROM some_table LIMIT ?'; SET @param = @limit; EXECUTE stmt USING @param;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah dengan Klausa LIMIT MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!