Mengemas kini Baris dengan Had dalam MySQL
Dalam MySQL, menggunakan klausa LIMIT dalam pertanyaan UPDATE boleh mengelirukan. Di sini, kami memberikan penjelasan terperinci tentang penggunaannya dan menangani soalan berkaitan.
Pertanyaan dengan LIMIT
Untuk mengemas kini baris dalam julat tertentu, anda boleh menggunakan sintaks berikut :
UPDATE table_name SET column_name = value WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT start_row, row_count ) tmp )
Contohnya, untuk mengemas kini baris dari 1001 hingga 1100, gunakan:
UPDATE table_name SET p_id = 3 WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT 1001, 1000 ) tmp )
Pertanyaan Tidak Sah
Pertanyaan yang anda berikan (KEMASKINI oltp_db.users SET p_id = 3 LIMIT 1001, 1000) adalah tidak sah kerana LIMIT tidak boleh digunakan terus dalam kenyataan KEMASKINI. Ia mesti digunakan dalam subkueri seperti yang ditunjukkan di atas.
Mengemas kini Nilai Null
Jika lajur p_id mengandungi nilai NULL, pertanyaan berikut tidak akan berfungsi:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
Untuk mengemas kini nilai NULL, anda boleh menggunakan IS NULL syarat:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL
Atas ialah kandungan terperinci Bagaimana Menggunakan LIMIT dalam Pertanyaan UPDATE MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!