Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Julat Baris Tertentu dalam MySQL Menggunakan LIMIT?

Bagaimana untuk Mengemas kini Julat Baris Tertentu dalam MySQL Menggunakan LIMIT?

Patricia Arquette
Lepaskan: 2024-12-31 12:03:08
asal
306 orang telah melayarinya

How to Correctly Update a Specific Range of Rows in MySQL Using LIMIT?

MySQL: Menggunakan LIMIT untuk Kemas Kini Berbilang Baris

Dalam MySQL, klausa LIMIT membenarkan anda mengehadkan bilangan baris yang dipengaruhi oleh pertanyaan . Walau bagaimanapun, apabila menggunakan LIMIT dengan pernyataan UPDATE, ralat biasa timbul apabila cuba mengemas kini julat baris tertentu.

Pertimbangkan pertanyaan berikut:

UPDATE messages SET test_read=1 
WHERE userid='xyz' 
ORDER BY date_added DESC  
LIMIT 5, 5;
Salin selepas log masuk

Pertanyaan ini bertujuan untuk mengemas kini lima baris, bermula dari baris kelima, dalam jadual "mesej" dengan "userid" bersamaan dengan "xyz". Walau bagaimanapun, pertanyaan ini akan mengakibatkan ralat.

Untuk memahami sebabnya, adalah penting untuk ambil perhatian bahawa klausa LIMIT dalam konteks ini mentakrifkan offset dan bilangan baris maksimum. Dalam contoh ini, ia mendapatkan semula dan mengehadkan bilangan baris yang dipaparkan dan bukannya mengemas kininya. Untuk mengemas kini julat baris tertentu, subkueri boleh digunakan sebaliknya:

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
);
Salin selepas log masuk

Dalam pertanyaan yang diubah suai ini, subkueri digunakan untuk memilih ID bagi lima baris yang perlu dikemas kini. Kenyataan UPDATE utama kemudiannya sepadan dengan ID ini dan melaksanakan kemas kini. Ini memastikan bahawa hanya baris yang dikehendaki diubah suai.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Julat Baris Tertentu dalam MySQL Menggunakan LIMIT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan