Wie funktioniert lastInsertId () für Tabellen ohne automatisch inkrementierte Felder?

9

Wie funktioniert lastInsertId() für Tabellen, die kein automatisch inkrementiertes Feld haben? Was ist mit Tabellen, bei denen der Primärschlüssel aus zwei Feldern besteht?

(Ich arbeite mit MySQL)

    
JDelage 24.09.2012, 23:03
quelle

2 Antworten

2

In beiden Fällen wird 0 zurückgegeben.

Bei Verwendung einer auto_increment-Spalte wird die letzte INSERT-ID zurückgegeben, auch wenn sie angegeben wurde (d. h. das automatische Inkrement wurde nicht verwendet).

Das heißt, Sie sollten lastInsertId nur verwenden, wenn Sie das automatische Inkrement verwenden. Es macht eigentlich keinen Sinn, es anders zu benutzen, da man die Tasten ohnehin vorher wissen müsste.

    
Explosion Pills 24.09.2012, 23:09
quelle
1

Ich glaube nicht, dass dies der Fall ist, da es sich um eine Funktion handelt, die speziell dafür entwickelt wurde, den Wert eines AUTO_INCREMENT -Feldes abzurufen.

Ссылка

mysql_insert_id

Retrieves the ID generated for an AUTO_INCREMENT column by the previous query (usually INSERT).

Diese Art von Sache ist einfach genug zu testen - hast du es versucht, um zu sehen, was passiert?

    
Dutchie432 24.09.2012 23:08
quelle

Tags und Links