Jika dalam database yang anda miliki terdapat baris data yang berulang atau terjadi duplikat baris data, anda dapat menghapus duplikasi tersebut dengan mudah hanya dengan menggunakan script MySQL.
Artikel Menarik Lainnya
Siapkan contoh tabel data
Sebelum kita mulai, siapkan tabel dengan nama “duplicate_row” dengan struktur dan data seperti berikut:
CREATE TABLE `duplicate_row` ( `id` int(11) DEFAULT NULL, `refID` int(11) DEFAULT NULL, `data` varchar(7) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PACK_KEYS=0; INSERT INTO `duplicate_row` (`id`, `refID`, `data`) VALUES (1, 3526, 'aaaaaaa'), (2, 3527, 'bbbbbbb'), (3, 3528, 'ccccccc'), (4, 3529, 'ddddddd'), (5, 3527, 'eeeeeee'), (6, 3528, 'fffffff'), (7, 3527, 'ggggggg'); COMMIT;
Hapus baris duplikat menggunakan DELETE JOIN
- Buka phpMyAdmin dan pilih nama database dari tabel “duplicate_row“. Kemudian klik tab “SQL”. Selanjutnya salin script berikut ini.
DELETE t1 FROM duplicate_row t1 JOIN duplicate_row t2 ON t2.refID = t1.refID AND t2.id < t1.id
- Kemudian klik tombol “Go” untuk menjalankan script.
- Script tersebut akan menghapus semua baris duplikat dan mempertahankan baris dengan “id” terkecil.
- Untuk mengubah kriteria penghapusan ubah script pada bagian “AND t2.id < t1.id” sesuai dengan yang anda inginkan.
Selamat mencoba…
Semoga bermanfaat….