webmaster
Administrator

Anmeldungsdatum: 26.11.2004
Beiträge: 902
|
Verfasst am:
15.12.2006, 01:49 |
 |
Da ich das Problem der Eliminierung von doppelten Einträgen in einer Datenbank auch schon einmal hatte, möchte ich hier gerne eine Lösung vorstellen. Die kommt ohne gefährliche Datenbankoperationen in Schleifen aus, funktioniert aber erst ab einer MySQL Version 4.1 (glaube ich).
| Code: | create temporary table doppel
select count(*) as counter, max(id) as id,
spalte from tabelle1
group by spalte1
having counter > 1; |
| Code: | | delete tabelle1 from tabelle1, doppel where tabelle1.id = doppel.id; |
Zur Erläuterung:
Der erste Ausdruck erzeugt eine temporäre Tabelle, die alle doppelten Einträge der Tabelle tabelle1 nach dem Kriterium spalte1 erhält. Gruppiert werden kann auch über mehrere Spalten. Der zweite Ausdruck löscht schliesslich genau diese doppelten Einträge aus der Ursprungstabelle tabell1, indem nach den vorher erzeugten Datensätzen aus der temporären Tabelle selektiert wird. |
_________________ Office SharePoint 2007 Blog |
|