Heim > Datenbank > MySQL-Tutorial > Wie kann ich doppelte Zeilen in MySQL entfernen, ohne externe Skripte zu verwenden?

Wie kann ich doppelte Zeilen in MySQL entfernen, ohne externe Skripte zu verwenden?

DDD
Freigeben: 2025-01-24 02:09:09
Original
481 Leute haben es durchsucht

How Can I Remove Duplicate Rows in MySQL Without Using External Scripts?

Entfernen doppelter Zeilen in MySQL: Ein reiner Datenbankansatz

Diese Anleitung zeigt, wie Sie doppelte Zeilen basierend auf bestimmten Spalten (z. B. site_id, title, company) effizient aus einer MySQL-Tabelle entfernen, ohne auf externe Skripte angewiesen zu sein. Obwohl GROUP BY Duplikate identifizieren kann, ist ein separater Löschvorgang erforderlich. Eine direktere Methode nutzt die UNIQUE Indexfunktionalität von MySQL.

Die UNIQUE Indexmethode (veraltet)

Zuvor bot das Hinzufügen eines UNIQUE-Index mit dem Schlüsselwort IGNORE eine Lösung. MySQL lehnt doppelte Zeilen während der Indexerstellung automatisch ab. Die Syntax wäre:

ALTER IGNORE TABLE jobs
ADD UNIQUE INDEX idx_name (site_id, title, company);
Nach dem Login kopieren

Wichtiger Hinweis: Dieser ALTER IGNORE TABLE Ansatz ist in MySQL 5.6 veraltet und wird in MySQL 5.7 und späteren Versionen vollständig entfernt. Daher ist diese Methode für aktuelle MySQL-Installationen nicht zuverlässig.

(Alternative Methode für moderne MySQL-Versionen erforderlich) Um Duplikate in neueren MySQL-Versionen zu entfernen, ist ein mehrstufiger Ansatz mit ROW_NUMBER() erforderlich. Dies erfordert eine komplexere Abfrage, bleibt aber eine reine Datenbanklösung. Weitere Anweisungen zu dieser alternativen Methode finden Sie in anderen Ressourcen.

Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Zeilen in MySQL entfernen, ohne externe Skripte zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage