Hallo Gustl,
also ich komm nicht weiter. meine db hat bildinfos die ich nach WHERE jahr = ? ORDER BY pos (pos=smallint) ausgebe. pos ist pro jahr durchnummeriert, es gibt also pos 1 bei 2005, pos 1 bei 2006 etc.
jetzt müsste ich eine bildinfo von mir aus von pos 25 nach pos 5 umbenennen, alle bildinfos ab pos 6 müsste ich also um +1 erhöhen und neu durchzählen.
das scheint mir kompliziert und es klappt auch irgendwie nicht.
Wo ist das Problem? Wahrscheinlich in Deiner MySQL-Version, die Du uns einfach verschweigst. Das ganze ist in drei Schritten zu erledigen
- Setze die Position von Pos 25 auf einen künstlichen Wert
(eine UPDATE-Anweisung) - Erhöhe die Position von pos 24 bis pos 5 um 1
(eine UPDATE-Anweisung) - Setze die Position vom künstlichen Wert auf pos 5
(eine UPDATE-Anweisung)
Anmerkungen:
Kapsele den Vorgang in eine Transaktion.
Schreibe für den Vorgang eine Funktion (MySQL 5 und neuer).
Wo siehst Du etwas Kompliziertes? Was funktioniert nicht?
Freundliche Grüße
Vinzenz