Bagaimana untuk Memadam Julat Baris Tertentu dalam MySQL Menggunakan Klausa LIMIT?

Mary-Kate Olsen
Lepaskan: 2024-10-25 13:58:30
asal
301 orang telah melayarinya

How to Delete a Specific Range of Rows in MySQL Using LIMIT Clause?

MySQL DELETE Statement with Limit

Seorang pengguna menghadapi ralat semasa cuba memadamkan baris daripada jadual menggunakan pertanyaan berikut:

DELETE FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50;
Salin selepas log masuk

Mesej ralat menunjukkan bahawa sintaks tidak betul.

Penjelasan

Ralat berlaku kerana pernyataan DELETE yang digunakan di sini termasuk offset dalam LIMIT klausa. Ini tidak dibenarkan dalam MySQL. Klausa LIMIT hanya boleh menentukan bilangan baris yang hendak dipadamkan.

Penyelesaian

Untuk memadam julat baris yang ditentukan daripada jadual, anda tidak boleh menggunakan ciri offset dalam klausa LIMIT. Sebaliknya, anda perlu menggunakan subquery untuk memilih baris yang hendak dipadamkan dan kemudian memadamkannya menggunakan nilai kunci utamanya.

Pertanyaan berikut boleh digunakan dalam senario ini:

DELETE FROM `chat_messages`
WHERE `id` IN (
    SELECT `id` FROM (
        SELECT `id` FROM `chat_messages`
        ORDER BY `timestamp` DESC
        LIMIT 20, 50
    ) AS `x`
)
Salin selepas log masuk

Pertanyaan ini menggunakan sarang berganda untuk memilih baris yang akan dipadamkan dan mengatasi had MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Julat Baris Tertentu dalam MySQL Menggunakan Klausa 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!