Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Baris Pendua dari Jadual Tanpa Membuat Jadual Baharu?

Bagaimana untuk Memadam Baris Pendua dari Jadual Tanpa Membuat Jadual Baharu?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 01:56:09694semak imbas

How to Delete Duplicate Rows from a Table Without Creating a New Table?

Memadamkan Baris Pendua daripada Jadual

Anda mempunyai jadual dengan rekod pendua dan anda mahu memadamkannya tanpa membuat jadual baharu. Dengan mengandaikan anda mempunyai medan ID yang unik, anda boleh menggunakan pertanyaan berikut:

DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)

Contoh: Katakan anda mempunyai jadual berikut:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2
3 action1 name1 data1 ... company1

The pertanyaan akan memadamkan rekod pendua dengan id 3, meninggalkan anda dengan yang berikut jadual:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2

Nota:

  • "Jadual" dan "ID" ialah nama wakil.
  • Senarai medan ( "Field1, Field2, ...") hendaklah termasuk semua medan kecuali untuk ID.
  • Pertanyaan ini mungkin lambat bergantung pada bilangan medan dan baris.
  • Jika anda tidak mempunyai indeks unik, tambah satu untuk meningkatkan prestasi.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dari Jadual Tanpa Membuat Jadual Baharu?. 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