Doppelte Zeilen in MySQL entfernen

Wenn in Ihrer Datenbank wiederholte Datenzeilen oder doppelte Datenzeilen auftreten, können Sie die Duplizierung einfach mit einem MySQL-Skript entfernen.

In diesem Artikel werden wir lernen, wie man doppelte Datenzeilen aus MySQL mit Hilfe eines Skripts entfernt, das wir mit phpMyAdmin ausführen.

Vorbereiten einer Tabelle mit Beispieldaten

Bevor wir beginnen, richten Sie eine Tabelle mit dem Namen “ duplicate_row “ mit der folgenden Struktur und den folgenden Daten ein:

duplicate row 01
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;

Doppelte Zeilen mit DELETE JOIN entfernen

  1. Öffnen Sie phpMyAdmin und wählen Sie den Datenbanknamen aus der Tabelle “ duplicate_row „. Klicken Sie dann auf die Registerkarte “ SQL „. Kopieren Sie dann das folgende Skript.
DELETE t1 FROM duplicate_row t1
  JOIN duplicate_row t2
  ON t2.refID = t1.refID
  AND t2.id < t1.id
  1. Then click the “ Go ” button to run the script.
duplicate row 02
  1. Das Script entfernt alle doppelten Zeilen und behält die Zeile mit der kleinsten „id“.
duplicate row 04
  1. Um die Löschkriterien zu ändern, ändern Sie das Skript im “ AND-Abschnitt t2.id < t1.id “ entsprechend Ihren Wünschen.

Viel Glück!…

Hoffentlich ist es nützlich….

Neueste Artikel