Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Baris Pendua dari Jadual MySQL (Versi 5.0 dan Ke Atas)?

Bagaimana untuk Memadam Baris Pendua dari Jadual MySQL (Versi 5.0 dan Ke Atas)?

Barbara Streisand
Lepaskan: 2024-12-25 20:20:14
asal
651 orang telah melayarinya

How to Delete Duplicate Rows from a MySQL Table (Versions 5.0 and Above)?

Memadam Pendua daripada Jadual MySQL

Dalam MySQL, anda mungkin menghadapi senario di mana anda perlu mengalih keluar baris pendua daripada jadual sambil memastikan pengenalan unik melalui lajur ID. Walaupun pertanyaan yang diberikan adalah sah untuk MySQL 5.7 dan ke atas, ia tidak berfungsi dalam versi terdahulu seperti 5.0.

Untuk mencapai tingkah laku yang diingini dalam MySQL 5.0, anda boleh menulis semula pertanyaan menggunakan operator IN dan bukannya = untuk membandingkan ID dengan set hasil subquery. Selain itu, anda tidak boleh mengubah suai terus jadual daripada subkueri dalam pertanyaan yang sama.

Untuk menyelesaikan pengehadan ini, anda boleh sama ada melaksanakan pertanyaan SELECT dan DELETE yang berasingan atau menggunakan subkueri bersarang untuk alias hasil subkueri dalam. Berikut ialah contoh pendekatan subkueri bersarang:

DELETE FROM posts
WHERE id IN (
    SELECT * FROM (
        SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
    ) AS p
)
Salin selepas log masuk

Sebagai alternatif, seperti yang dicadangkan oleh Mchl, anda boleh menggunakan gabungan untuk memadamkan baris pendua dengan menggabungkan jadual dengan dirinya sendiri berdasarkan lajur ID dan menggunakan klausa HAVING untuk penapis untuk ID pendua.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dari Jadual MySQL (Versi 5.0 dan Ke Atas)?. 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