Zugriff auf den letzten Datensatz einer Tabelle

M

Maximus

Hi,
kann mir jemand sagen, wie ich mir den letzten, also den neuesten Datensatz einer Tabelle per print-Anweisung anzeigen lasse ?

Und gibts es vielleicht eine Seite wo es eine hervorragende Beschreibung aller MySQL-Befehle und Funktionen gibt ?

Danke im voraus
Maximus
 
Hi,

in einer Datenbank kann man keine definierten Datensätze direkt ansprechen. Du musst immer über "SELECT * FROM tabelle WHERE feld_x=wert_x" einen (oder mehrere) Datensätze selektieren.
Dazu müsstest Du z.B. wissen, was in den letzten Datensatz geschrieben wurde.

Einen sehr guten Link zu einem MySQL-Handbuch findest Du unten auf dieser Seite unter :pROGRAMMING MYSQL:

hoffe das hilft

Gruß
Dunsti
 
Das ist ja gerade das Problem. Ich will den letzten Datensatz auslesen. Aber natürlich weiß ich vorher nicht, was darin steht.
 
order du holst dir alle datensätze, und machst ein ORDER BY ID DESC (vorausgesetzt du hast eine id..) und dann ist der erste eintrag im datensatz der letzte eintrag in der tabelle...

blöd gesagt aber ich hoff du verstehst es so ;) :{}

gruß
 
Hi @ all!

@Quentin
Das mit dem andersrum anordnen ist schoen,
aber er muss ja nicht alle Datensaetze holen.
Da reicht doch nur einer.
Also mein Vorschlag:

SELECT * FROM table ORDER BY ID DESC LIMIT 1
 
Von der Theorie her ist aber lange nicht gesagt, dass er damit den "letzten" Datensatz bekommt. In der DB spielt die Reihenfolge keine Rolle.

Du kannst nur eine haben, wenn du autoinkrementelle Indexes oder dergleichen vergibst.

Gruss
Alki
 
@alki
Das mit dem autoincrement Feld,
hat Quentin schon vorausgesetzt.
 
ja aber wie is das wenn es ihm wirklich nur um den letzten eintrag geht. sicherlich is das ne gute lösung mit dem autoincrement feld, aber letztlich doch das "allheilmittel" oder?

würde mich jetzt mal als mysql-nub interessieren.
ich kenn es halt aus access, dass man die datensätze auch direct oder indirekt ansprechen kann (db.next oder db.last oder so)
 
Du kannst den Datensatzzeiger auch mit mysql_db_seek() auf einen bestimmten Datensatz stellen, und diesen dann auslesen.

ABER: Du kannst nicht sicher sagen, daß in diesem Datensatz dann auch die Daten drin stehen, die Du haben willst. Es könnte z.B. auch sein, daß Du beim Beschreiben der Datenbank einen leeren Datensatz (irgendwo) füllst, und dann beim auslesen des "letzten" Datensatzes einen ganz anderen (der eben zufällig an letzter Stelle steht) ausliest.

Bei einem Autoinkrement-Feld ist es aber immer (!) so, daß der zuletzt geschriebene Datensatz die höchste Nummer hat. Deswegen könnte man damit den Datensatz ausfindig machen, der zuletzt geschrieben wurde.

Gruß
Dunsti
 
Zurück