# Zugriff auf den letzten Datensatz einer Tabelle



## Maximus (12. Juli 2001)

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


----------



## Dunsti (12. Juli 2001)

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 ROGRAMMING MYSQL:

hoffe das hilft

Gruß
Dunsti


----------



## Maximus (12. Juli 2001)

Das ist ja gerade das Problem. Ich will den letzten Datensatz auslesen. Aber natürlich weiß ich vorher nicht, was darin steht.


----------



## Quentin (12. Juli 2001)

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ß


----------



## Maximka (12. Juli 2001)

*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


----------



## alki (26. Juli 2001)

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


----------



## Maximka (27. Juli 2001)

@alki
Das mit dem autoincrement Feld,
hat Quentin schon vorausgesetzt.


----------



## wo0zy (2. August 2001)

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)


----------



## Dunsti (2. August 2001)

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


----------

