Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Baris Bukan Unik dengan Cekap dalam MySQL 5.0?

Bagaimana untuk Memadam Baris Bukan Unik dengan Cekap dalam MySQL 5.0?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 11:01:08624semak imbas

How to Efficiently Delete Non-Unique Rows in MySQL 5.0?

Memadam Baris Bukan Unik dalam MySQL Menggunakan Penyata Pilih

Sintaks pertanyaan yang disediakan

DELETE FROM posts where> cuba untuk padamkan baris yang tidak mempunyai ID unik daripada jadual siaran. Walau bagaimanapun, sintaks ini tidak serasi dengan MySQL 5.0.</p>
<p><strong>Menulis Semula Pertanyaan</strong></p>
<p>Untuk menjadikan pertanyaan serasi dengan MySQL 5.0, ia hendaklah ditulis semula seperti berikut:</p> <p>`<pra>PADAM DARI catatan DI MANA id DALAM (</p>
<pre class="brush:php;toolbar:false">SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )

)
`

Memahami Pertanyaan Semakan

Pertanyaan yang disemak menggunakan operator IN untuk bandingkan lajur id jadual siaran dengan set hasil subkueri. Subkueri mendapatkan semula ID baris yang mempunyai lebih daripada satu kejadian dalam jadual siaran, menunjukkan ID bukan unik. Dengan menggunakan operator IN, pertanyaan hanya memilih baris dengan ID bukan unik untuk dipadamkan.

Pertimbangan Tambahan

Seperti yang dinyatakan dalam rujukan jawapan, adalah penting untuk ambil perhatian bahawa MySQL tidak membenarkan mengubah suai jadual yang sama daripada subkueri dalam pertanyaan yang sama. Untuk memintas sekatan ini, pertanyaan boleh dibahagikan kepada dua pertanyaan berasingan: pertanyaan SELECT untuk mengenal pasti baris yang akan dipadamkan, diikuti dengan pertanyaan DELETE untuk melaksanakan pemadaman. Sebagai alternatif, subkueri bersarang dengan alias boleh digunakan untuk membenarkan pemadaman dalam satu pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Bukan Unik dengan Cekap dalam MySQL 5.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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