Hallo DPler!
Ich hab' mal wieder eine Frage, ob etwas sinnvoll nur mit
SQL umsetzbar ist.
Ich habe eine Tabelle mit den Feldern Name und Order. Bei jeder Abfrage wird die Reihenfolge der Einträge über das Feld Order bestimmt (
ORDER BY `order`). Manchmal kommt es aber vor, dass die Einträge dieser Tabelle völlig durcheinander sind und die Reihenfolge automatisch neu bestimmt werden kann. In diesem Fall ist die Abfrage über
ORDER BY `name` richtig. Da die Abfragen aber nicht allesamt geändert werden können, muss das der Inhalt des Order-Feld neu gesetzt werden. Folgender Code tut dies:
Code:
result = connection.execute("SELECT id FROM tabelle ORDER BY name")
order = 1
for row in result:
connection.execute("UPDATE tabelle SET `order` = %i WHERE id = %i" % (order, row['id']))
order += 1
Gibt es einen sinnvollen Code, der dies auf dem Server ausführt? Das ganze muss unter
MySQL & SQLite laufen.
Liebe Grüße,
Valentin