Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Recuperando o índice de uma linha inserida


LAST_INSERT_ID() tem escopo de sessão.

Ele retornará o valor de identidade inserido na sessão atual.

Se você não inserir nenhuma linha entre INSERT e LAST_INSERT_ID , então ele vai funcionar bem.

Observe que, para inserções de vários valores, ele retornará a identidade da primeira linha inserida, não a última:
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 */