Hallo,
ich möchte die höchste ID abfragen.
ID | Beschreibung
1 | Bla
2 | Blub
3 | haha
4 | text
Eigentlich möchte ich an den TExt heran, der mit der ID 4 gekoppelt ist. Ich weiß aber nicht, welches SQL Statement ich benutzen soll. Es kommen auch immer neue Einträge dazu.
Und ich brauche nur den letzten Eintrag.
Wißt ihr wie das geht?
Danke
Stefan
auch wenn Titus wieder die Hände vor's Gesicht schlägt, ob meiner Lösung, ich mach das immer so :
SELECT Beschreibung FROM Tabelle ORDER BY ID DESC
dann liest du einfach die erste Zeile aus und das ist , dank ORDER BY, die mit der höchsten ID.
anders geht´s halt net *joelzustimm*
lol, das ich das noch erleben durchfte *gg* mfg. Joel
[Editiert von JoelH am 24-10-2001 um 07:07]
Original geschrieben von Titus
anders geht´s halt net *joelzustimm*
lol, das ich das noch erleben durchfte *gg* mfg. Joel
[Editiert von JoelH am 24-10-2001 um 07:07]
Da muss ich widersprechen *g*
SELECT beschreibung FROM table WHERE id=LAST_INSERT_ID()
Mag niemand "SELECT MAX(id) AS maximum FROM table" ?
Das wäre dann Nummer 3... Weitere Vorschläge..? :D
Hmm?? Wenn kein frischer Eintrag hinzugekommen ist, kann das eigentlich nicht sein??? Oder steh ich hier grad auf dem Schlauch....
Ach so, Du meinst Vorschlag Nr. 3! :-)
scheinbar führen mal wieder alle Wege nach Rom :)
Wenn ihr schon widersprecht, dann habt doch wenigstens recht ... :(
Original geschrieben von Sky
Da muss ich widersprechen *g*
SELECT beschreibung FROM table WHERE id=LAST_INSERT_ID()
Das funktioniert nur, wenn der Insert unmittelbar davor war.
Original geschrieben von pekka
Mag niemand "SELECT MAX(id) AS maximum FROM table" ?
Und das bringt nur die ID, nicht aber den Text der dazu gehört.
Original geschrieben von Titus
Original geschrieben von Sky
[B]Da muss ich widersprechen *g*
SELECT beschreibung FROM table WHERE id=LAST_INSERT_ID()
Das funktioniert nur, wenn der Insert unmittelbar davor war.
LAST_INSERT_ID(expr)
The last ID that was generated is maintained in the server on a per-connection basis. It will not be changed by another client. It will not even be changed if you update another AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL and not 0). If you insert many rows at the same time with an insert statement, LAST_INSERT_ID() returns the value for the first inserted row.
Original geschrieben von Titus im PHP-Forum
schaut euch beide mal die Funktion mysql_insert_id() an!
IRGENDWO = Tabelle mit auto_increment auf primary key
code:
mysql_query ("insert into IRGENDWO (IRGENDEINFELD) values (IRGENDWAS)");
$id = mysql_insert_id();
$id = Wert des primary key im gerade eingefügten Datensatz,
Wenn du mir schon widersprichst, dann wenigstens nicht gleichzeitig auch dir selbst :) :D
EDIT: Zugegeben, im Detail unterscheiden sich die beiden Threads, im Hinsicht auf die last_insert_id-Problematik jedoch nicht.
[Editiert von Sky am 06-11-2001 um 20:03]