Wie funktioniert lastInsertId()
für Tabellen, die kein automatisch incrementiertes Feld haben? Was ist mit Tabellen, bei denen der Primärschlüssel aus 2 Feldern besteht?
(Ich arbeite mit MySQL)
Wie funktioniert lastInsertId()
für Tabellen, die kein automatisch incrementiertes Feld haben? Was ist mit Tabellen, bei denen der Primärschlüssel aus 2 Feldern besteht?
(Ich arbeite mit MySQL)
In beiden oben genannten Fällen wird es 0
zurückgeben.
Bei Verwendung einer auto_increment-Spalte wird es auch die zuletzt eingefügte ID zurückgeben, auch wenn sie angegeben wurde (d. h. der automatische Inkrement wurde nicht verwendet).
Das bedeutet, dass Sie lastInsertId
nur verwenden sollten, wenn Sie auto_increment verwenden. Andernfalls macht es keinen Sinn, es zu verwenden, da Sie die Schlüssel sowieso im Voraus kennen müssten...
Ich denke nicht, dass es dies tut, da es eine Funktion ist, die speziell dafür entwickelt wurde, den Wert eines AUTO_INCREMENT
-Feldes abzurufen.
http://php.net/manual/en/function.mysql-insert-id.php
mysql_insert_id
Ruft die ID ab, die für eine AUTO_INCREMENT-Spalte durch die vorherige Abfrage (normalerweise INSERT) generiert wurde.
Dies ist leicht genug zu testen - haben Sie es versucht, um zu sehen, was passiert?
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.