Das scheint subjektiv zu sein, aber ich würde sagen, nein, es ist konzeptionell nicht richtig, weil:
- Sie möchten die zuletzt eingefügte Zeile
- aber Ihre Abfrage betrachtet die maximale
id
Wert
Ja, es gibt einen Zusammenhang zwischen der maximalen ID und der letzten Einfügung, aber bedenken Sie Folgendes:
- Was ist, wenn die zuletzt eingefügte Zeile gelöscht wurde?
Antwort auf MySQL:Sie erhalten unterschiedliche Ergebnisse. Beachten Sie, dass es nicht einmal Multithreading oder mehrere Prozesse geben muss, damit dies fehlschlägt. Das liegt daran, dass es sich um zwei verschiedene Dinge handelt (die zugegebenermaßen oft zu denselben Ergebnissen führen können).
select max(id) from <tablename>
gegen
select last_insert_id()
(Rate mal, welches richtig ist.)
@Dems wies darauf hin, dass das OP mehrdeutig ist. Ich werde meinen Hauptpunkt klarstellen:
Wir sprechen von drei verschiedenen Informationen:
- maximale
id
Wert id
der zuletzt eingefügten Zeile, spezifisch für eine Sitzungid
der zuletzt in die Tabelle eingefügten Zeile (unabhängig von der Sitzung)
Das Gefährliche daran ist, dass die Abfrage nach einem manchmal die richtige Antwort für einen anderen liefert – aber nicht immer .