Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

spalte in mysqltabelle durchnummerieren





Frage

hallo, weiß jemand, wie man mit sql eine bestimmte spalte in einer mysql- tabelle von 1 bis 500 durchnummeriert?

Antwort 1 von Martina

Hallochen,

du gibst in der Tabelle in der entsprechenden Spalte unter
Struktur - Extra -> auto_increment ein. Hiermit erhällt automatisch jeder neue Datensatz eine fortlaufende Nummerierung.

LG Martina

Antwort 2 von caro999

ich möchte allerdings 500 bestehende datensätze in einer bereits bestehenden Spalte durchnummeriren. bisher stehen darin zufällige zahlen, ich brauche fortlaufende durchnummerierg. ein update in der art: update datensatz 1 in spalte 5 set 1
update datensatz 2 in spalte 5 set 2
update datensatz 3 in spalte 5 set 3
....
....
...
...
update datensatz 500 in spalte 5 set 500

Antwort 3 von Martina

Hallochen,

versuche es doch mal damit:

# Daten aus der Tabelle auslesen (lfd soll durchlaufend nummeriert werden)
$query = mysql_query("SELECT * FROM TABELLE");
$i=0;
while($row[$i] = mysql_fetch_array($query))  {		
# Daten in Tabelle
$daten[$i][lfd] = $i + 1;	# wir jetzt bei jedem Durchlauf um 1 erhöht
$daten[$i][spalteX] = $row[$i]['spalteX'];
$daten[$i][spalteY] = $row[$i]['spalteY'];
...
}
$i = ++;


# geänderte Daten wieder zurückschreiben
$j=1;
while($j <= $i) {
$sql = mysql_query("UPDATE TABELLE SET lfd='$daten[$j][lfd]', spalteX='$daten[$j][spalteX]', spalteY='$daten[$j][spalteY]', ...");
}
$j = ++;


LG Martina

Antwort 4 von MixMax

Wenn du eine neue autoinkrement Spalte hinzufügst, wird diese mit automatisch hochzählenden Werten auch für die bereits bestehenden Daten ausgefüllt.
Du kannst die Spalte ggfs einmal löschen und neu anlegen wenn da noch nichts wichtiges in der Spalte steht.