Hallo,
Wie kann ich mit einem SQL-Query oder per PHP den letzten Datensatz aus einer mysql tabelle auslesen?
definiere "letzter Datensatz".
aber was ist wenn ein Datensatz gelöscht ist und die Tabelle nur noch 199 datensätze hat, dann ist die letzte ID immer noch 200 und
Ist es der mit der höchsten ID?
SELECT LAST(column_name) FROM table_name
wie hier funktioniert nicht, da kommt immer die Fehlermeldung:
#1064 - You have an error in your SQL syntax;Wahrscheinlich weil es LAST in mysql nicht gibt, wenn ich mich nicht irre.
Nachgucken wäre eine Idee.
Was gebe es noch für möglichkeiten?
Die übliche, ein Subselect:
SELECT -- Gib mir
* -- den Datensatz
FROM -- aus
table_name t1 -- meiner Tabelle (angesprochen unter dem Alias t1),
WHERE -- wobei
t1.ID = ( -- die ID dieses Datensatzes gleich
SELECT -- der
MAX(t2.ID) -- größten ID
FROM -- aus
table_name t2 -- dieser Tabelle (zur Unterscheidung mit t2 angesprochen)
) -- sein soll.
Ich möchte noch anmerken, dass eine ID nur dazu da sein sollte, einen Datensatz eindeutig zu identifizieren - und darüber hinaus keine weitere Information tragen sollte. Auch nicht, welcher Datensatz der neueste ist. Verwende dazu eine eigene Spalte.
Freundliche Grüße
Vinzenz