Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengalih keluar Rekod Pendua dalam MySQL Tanpa Menggunakan Jadual Sementara?

Bagaimana untuk mengalih keluar Rekod Pendua dalam MySQL Tanpa Menggunakan Jadual Sementara?

Barbara Streisand
Lepaskan: 2025-01-01 13:09:11
asal
850 orang telah melayarinya

How to Remove Duplicate Records in MySQL Without Using Temporary Tables?

Mengalih keluar Rekod Pendua Tanpa Jadual Suhu

Apabila berhadapan dengan rekod pendua dalam jadual MySQL, anda mungkin menghadapi situasi di mana jadual temp terbukti tidak praktikal atau tidak diingini. Artikel ini meneroka penyelesaian alternatif untuk menghapuskan pendua sambil mengekalkan satu kejadian bagi setiap rekod unik.

Satu pendekatan ialah memanfaatkan Indeks Unik. Dengan menambahkan indeks unik pada lajur yang mengenal pasti rekod secara unik (id_ahli, nombor_kuiz, nombor_soalan, nombor_jawapan), anda menghalang penyisipan baris pendua, memastikan hanya satu baris wujud untuk setiap set nilai unik.

< pra>UBAH ABAIKAN JADUAL JadualA
TAMBAH INDEKS UNIK (id_ahli, nombor_kuiz, nombor_soalan, nombor_jawapan);

Sebagai alternatif, anda boleh menambah kunci utama pada jadual dan menggunakan pertanyaan untuk memadam rekod pendua secara selektif:

< pra>PADAM DARI ahli
WHERE id IN (SELECT *

         FROM (SELECT id FROM member 
               GROUP BY member_id, quiz_num, question_num, answer_num HAVING (COUNT(*) > 1)
              ) AS A
        );
Salin selepas log masuk

Dengan menggunakan syarat COUNT(*) > dalam subkueri, pertanyaan mengenal pasti baris yang muncul lebih daripada sekali dalam setiap gabungan unik bagi id_ahli, nombor_kuiz, nombor_soalan dan nombor_jawapan Lajur id baris pendua ini kemudiannya digunakan untuk mencari dan padamkannya daripada jadual ahli.

Pendekatan ini menyediakan kaedah yang cekap dan boleh dipercayai untuk mengalih keluar rekod pendua tanpa bergantung pada jadual temp, memastikan integriti data dan meminimumkan kesan ke atas prestasi.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Rekod Pendua dalam MySQL Tanpa Menggunakan Jadual Sementara?. 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