Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abrufen des Index einer eingefügten Zeile

LAST_INSERT_ID() hat einen Sitzungsbereich.

Es gibt den Identitätswert zurück, der in die aktuelle Sitzung eingefügt wurde.

Wenn Sie keine Zeilen zwischen INSERT einfügen und LAST_INSERT_ID , dann klappt es schon.

Beachten Sie jedoch, dass bei Einfügungen mehrerer Werte die Identität der ersten eingefügten Zeile zurückgegeben wird, nicht der letzten:

INSERT
INTO    mytable (identity_column)
VALUES  (NULL)

SELECT  LAST_INSERT_ID()

--
1

INSERT
INTO    mytable (identity_column)
VALUES  (NULL), (NULL)

/* This inserts rows 2 and 3 */

SELECT  LAST_INSERT_ID()

--
2

/* But this returns 2, not 3 */