Zugriff auf die zuletzt eingefügten Zeile in mysql
Auf meinem db-server ich bin das einfügen von Daten in eine Tabelle mit einem auto-Inkrement-Feld sagen, dass die 'id'. Jetzt will ich mit dem Wert des zuletzt eingefügten 'id' in weiteren Schritten. Kann ich dieses verwenden:-
select * from table_name order by id desc limit 1;
Aber das problem hier ist, es ist ein server und viele weitere Einfügungen geschehen könnte, und es könnte ein Fall, wo ich versuchen zum abrufen der Daten mit der Abfrage, die ich erwähnt und bekommen eine andere id ie. zwischen meine insert-und select-könnte es einige andere insert und ich nicht den Wert den ich von Hand eingefügt. Eine Möglichkeit, in der diese angesprochen werden könnte.?
Vielen Dank im Voraus.
- Sieht einfach aus : dev.mysql.com/doc/refman/5.0/en/mysql-insert-id.html Je nachdem, wie Sie mit der Datenbank verbinden, Ihre Bibliothek kann diese Funktionalität implementiert out of the box, aber die zugrunde liegende mysql-engine ist sicherlich in der Lage das Cheers.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie diese
als seine grundlegende Struktur
Ruft die ID generiert, die für eine AUTO_INCREMENT Spalte durch die Vorherige Abfrage (meist INSERT).
oder mysql verwenden
hier ist die ref-links
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
http://php.net/manual/en/function.mysql-insert-id.php
Verwenden Sie diese mysql_insert_id()
Es gibt den AUTO_INCREMENT-ID generiert, die von der vorhergehenden INSERT-operation.
Diese Funktion gibt 0 zurück, wenn die Vorherige operation nicht erzeugen einer AUTO_INCREMENT-ID oder FALSE bei MySQL Verbindung Fehler.
call
LAST_INSERT_ID()
- Funktion unmittelbar nach dem einfügen und speichern id irgendwo.versuchen, diese
heres die Link
können Sie die id, wenn Sie anrufen LAST_INSERT_ID () - Funktion sofort nach dem einsetzen und dann können Sie es verwenden.
Für den letzten eingefügten Datensatz wird erhalten durch mysql_insert_id()
Wenn Ihre Tabelle enthält keine AUTO_INCREMENT-Spalte zurück, dass Wert.