Richi: Datensatz vielleicht kopieren

Beitrag lesen

Hallo Forum,

ich habe gerade folgendes realisiert und frage mich, ob das auch "schlanker" geht (DB: mysql5)?

Abfrage, ob ein Datenbankeintrag mit bestimmten Bedingungen existiert:
SELECT ID,spalte1 FROM Tabelle WHERE spalte2 > 123

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.

...

Das sind natürlich schon recht viele Schritte für ein doch eher simples Probem.

Daher meine Fragen:

  1. Geht das nicht auch "schlanker"?
  2. Kann ich z.B. auch einfach die ID des gefundenen Datensatzes ändern? Obwohl die Spalte "autoincrement" ist? Macht das vielleicht gar nichts aus?
  3. Gehts das alles auch in 1 Query oder ist das nicht möglich?

Viele Grüße, Richard