MySQL: Klausa Had untuk Kemas Kini Berbilang Baris
Dalam MySQL, klausa LIMIT biasanya digunakan untuk mengehadkan bilangan baris yang dipilih daripada sebuah meja. Walau bagaimanapun, ia juga boleh digunakan untuk menentukan bilangan maksimum baris untuk dikemas kini. Walau bagaimanapun, kekangan tertentu mesti dipertimbangkan untuk mengelakkan ralat.
Pertanyaan yang disediakan:
UPDATE messages set test_read =1 WHERE userid='xyz' ORDER BY date_added DESC LIMIT 5, 5 ;
gagal kerana parameter kedua LIMIT menentukan offset, bukan had. Oleh itu, pertanyaan meminta MySQL mengemas kini baris selepas baris ke-10 (langkau 5 baris pertama, kemudian gunakan offset 5).
Untuk menyelesaikan isu ini, gunakan pertanyaan berikut:
UPDATE messages set test_read =1 WHERE userid='xyz' ORDER BY date_added DESC LIMIT 5 ;
Pertanyaan ini mengemas kini 5 baris pertama dengan betul.
Jika anda ingin mengemas kini julat tertentu baris, seperti ke-6 hingga ke-10, anda boleh menggunakan subkueri:
UPDATE messages SET test_read=1 WHERE id IN ( SELECT id FROM ( SELECT id FROM messages ORDER BY date_added DESC LIMIT 5, 5 ) tmp );
Pertanyaan ini menggunakan subkueri untuk memilih ID baris dalam julat yang ditentukan. Kemudian, pertanyaan utama mengemas kini baris tersebut dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Klausa LIMIT MySQL untuk Mengemas kini Nombor atau Julat Baris Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!