Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
Zurück zur Übersicht
Doppelte Spalten löschen in einer Mysql Datenbank mit PHP
#Tutorials#SQL
Ich habe mir schon häufiger die Frage gestellt, wie ich an doppelte Spalten herankomme, dessen einziger Unterschied der automatische Primärschlüssel ist. Hier habe ich eine Php Funkion die sich erst alle Doppelten Einträge holt und diese dann aus der Datenbank löscht. Zudem zeigt sie noch an, wie viele Datensätze betroffen waren.
<?php
$res = mysql_query("SELECT doppelte_Spalte, COUNT( * ) AS anzahl FROM eure_tabelle GROUP BY doppelte_Spalte HAVING COUNT( * ) >1");
$returned_rows = mysql_num_rows ($res);
while($row = mysql_fetch_array($res)) {
$doppelte_Spalte = $row["doppelte_Spalte"];
mysql_query("DELETE FROM eure_tabelle WHERE doppelte_Spalte = ".$doppelte_Spalte." LIMIT 1");
}
print''.$returned_rows.' doppelte Einträge gelöscht<br/>';
?>
Das Limit 1 beim Delete ist sehr wichtig, da sonst alle Einträge mit der doppelte Spalte gelöscht werden und wir wollen ja nur einen löschen.
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar