MySQL - UPDATE Query with LIMIT
Artikel ini menangani cabaran yang dihadapi apabila cuba mengemas kini baris tertentu melalui klausa LIMIT dalam pangkalan data MySQL . Matlamatnya adalah untuk mengemas kini baris dalam julat ID baris yang ditentukan.
Ralat Sintaks dan Pertanyaan Betul
Pertanyaan yang anda berikan, "KEMASKINI oltp_db.users SET p_id = 3 LIMIT 1001, 1000", secara sintaksis tidak betul. Sintaks yang betul untuk menggunakan LIMIT dalam pertanyaan KEMASKINI adalah untuk menentukan nombor baris permulaan (offset) dan beberapa baris untuk dikemas kini. Pertanyaan yang betul hendaklah:
UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000;
Mengemaskini Baris dengan Nilai NULL
Pertanyaan anda, "KEMASKINI oltp_db.users SET p_id = 3 WHERE p_id = null", juga tidak betul. Operator kesamaan "=" tidak boleh digunakan dengan nilai NULL. Untuk mengemas kini baris dengan nilai NULL, gunakan operator IS NULL seperti berikut:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL;
Mengemas kini Berbilang Baris Menggunakan LIMIT
Untuk mengehadkan bilangan baris yang dikemas kini, gunakan subquery untuk memilih julat ID baris tertentu, seperti yang ditunjukkan dalam yang berikut pertanyaan:
UPDATE table_name SET name='test' WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT 0, 10 ) tmp )
Pertanyaan ini mengemas kini baris dengan lajur 'nama' ditetapkan kepada 'ujian' di mana ID baris berada dalam julat yang ditentukan. Subkueri dalam memilih 10 ID baris pertama daripada jadual, yang kemudiannya digunakan dalam klausa IN bagi pertanyaan kemas kini luar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Bilangan Baris Tertentu dalam MySQL Menggunakan LIMIT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!