Ich habe eine Tabelle, in die häufig neue Daten eingefügt werden. Ich muss die allerletzte ID der Tabelle ermitteln. Wie kann ich das tun?
Ist es vergleichbar mit SELECT MAX(id) FROM table
?
Wenn Sie PDO verwenden, verwenden Sie PDO::lastInsertId
.
Wenn Sie Mysqli verwenden, verwenden Sie mysqli::$insert_id
.
Wenn Sie noch Mysql verwenden:
*Bitte verwenden Sie keine `mysql_` Funktionen in neuem Code**. Sie werden nicht mehr gepflegt [und sind offiziell veraltet] (https://wiki.php.net/rfc/mysql_deprecation). Sehen Sie den roten Kasten? Lernen Sie stattdessen etwas über Prepared Statements, und verwenden Sie PDO oder MySQLi - dieser Artikel hilft Ihnen bei der Entscheidung. Wenn Sie sich für PDO entscheiden, hier ist ein gutes Tutorial.
Aber wenn Sie müssen, verwenden Sie mysql_insert_id
;
Was Sie geschrieben haben, würde Ihnen die größte id
, vorausgesetzt, sie waren eindeutig und automatisch erhöht, die in Ordnung sein würde, vorausgesetzt, Sie sind in Ordnung mit einladenden Gleichzeitigkeitsprobleme.
Da Sie MySQL als Datenbank verwenden, gibt es die spezielle Funktion LAST_INSERT_ID()`, die nur auf der aktuellen Verbindung funktioniert, die die Einfügung vorgenommen hat.
Auch PHP bietet dafür eine spezielle Funktion namens mysql_insert_id
.