Mahlzeit Richi,
Prüfen, ob die ID des gefundenene Datensatzes (autoinrement) die höchste in der Tabelle ist.
SELECT MAX(ID) FROM Tabelle, 0)
Prüfen (in php), ob die zuvor gefundene ID höher oder gleich der Max-ID ist.
Falls es nicht die höchste ID ist, dann Datensatz duplizieren und den mit der gefundenen ID stattdessen löschen.
Welche fachliche Bedeutung hat hier die Spalte "ID" (ich schätze mal, das ist der Primary Key für diese Tabelle)? Man sollte dem Primary Key *NIEMALS* eine fachliche Bedeutung beimessen, die er nicht hat und nicht haben darf. Es handelt sich lediglich um ein eindeutiges Datum, mit dem man jeden Datensatz eindeutig identifizieren kann. Mehr darfst Du nicht hineininterpretieren.
Also: was steht dort (in der Spalte "ID") implizit noch mit drin?
Wenn Du dafür eine eigene Spalte anlegst, hast Du kein Problem mit dem unsinnigen "Umkopieren" von Datensätzen - weil Du es schlicht und ergreifend nicht mehr brauchst.
- Geht das nicht auch "schlanker"?
Ja. Indem Du dem Primary Key keine fachliche Bedeutung beimisst und das Tabellendesign reparierst.
- Kann ich z.B. auch einfach die ID des gefundenen Datensatzes ändern? Obwohl die Spalte "autoincrement" ist? Macht das vielleicht gar nichts aus?
Wieso solltest Du den Primary Key eines Datensatzes ändern wollen?
MfG,
EKKi
sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|