Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hapus entri duplikat di tabel MySQL

Anda dapat melakukannya dengan mudah dengan memilih kueri tersebut ke tabel lain, lalu mengganti namanya untuk menggantikan yang asli.

CREATE TABLE `table2` (
  `name` varchar(255), 
  `email` varchar(255), 
  UNIQUE KEY `email` (`email`));
INSERT INTO `table2` SELECT `name`, DISTINCT(`email`) FROM `table`;
RENAME TABLE `table` TO `table1`;
RENAME TABLE `table2` TO `table`;

Perhatikan bahwa CREATE . ini harus disesuaikan dengan format tabel Anda yang sebenarnya. Saya menambahkan kunci unik di bidang email sebagai saran tentang bagaimana Anda akan mencegah duplikat di tempat pertama.

Atau, Anda dapat mengulanginya

DELETE FROM `table` 
WHERE `email` IN (
  SELECT `email` FROM `table` GROUP BY `email` HAVING count(*) > 1
) LIMIT 1

Yang akan menghapus satu rekaman duplikat per panggilan. Pentingnya batas adalah untuk tidak menghapus kedua baris untuk duplikat apa pun



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan ID yang dimasukkan terakhir dari doktrin dan kueri mysql asli

  2. Hilangkan subquery untuk nilai numerik rata-rata

  3. Pencarian MySQL untuk mengabaikan tanda hubung

  4. MySQL Meningkatkan Kinerja tanpa Cache

  5. Cara memasukkan array json ke database mysql dengan php