Wie wir alle wissen, gibt die MySQL-Funktion LAST_INSERT_ID() die zuletzt generierte Sequenznummer zurück, bei der Einfügung mehrerer Zeilen jedoch die Sequenznummer, die von der vordersten eingefügten Zeile generiert wurde.
mysql> Insert into Student(Name) values('Ram'),('Mohan'),('Aryan'); Query OK, 3 rows affected (0.03 sec) Records: 3 Duplicates: 0 Warnings: 0
Die obige Abfrage fügt mithilfe einer mehrzeiligen Einfügeabfrage drei Werte in die Student-Tabelle ein. Der Wert der Spalte „Id“ kann mit Hilfe der folgenden Abfrage überprüft werden –
mysql> Select * from Student; +----+-------+ | Id | Name | +----+-------+ | 1 | Raman | | 2 | Rahul | | 3 | Ram | | 4 | Mohan | | 5 | Aryan | +----+-------+ 5 rows in set (0.00 sec)
Das bedeutet, dass Last_Insert_Id() als Ausgabe 5 zurückgeben muss, aber wir können sehen, dass es wie unten den Wert 3 zurückgibt –
mysql> Select Last_Insert_Id(); +------------------+ | Last_Insert_Id() | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)
Es gibt einen Wert zurück 3, weil 3 der Wert der ersten eingefügten Zeile in der obigen Abfrage zum Einfügen mehrerer Zeilen ist.
Das obige ist der detaillierte Inhalt vonWelche Auswirkungen hat das Einfügen mehrerer Zeilen auf die Ausgabe der MySQL-Funktion LAST_INSERT_ID()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!