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

Buscar o último ID de inserção mostra o número errado


last_insert_id() não tem relação com tabelas específicas. Na mesma conexão, todas as tabelas compartilham o mesmo.

Abaixo está uma demonstração para ele.

Demonstração:

mysql> create table t1(c1 int primary key auto_increment);
Query OK, 0 rows affected (0.11 sec)

mysql> create table t2(c1 int primary key auto_increment);
Query OK, 0 rows affected (0.06 sec)

mysql> insert into t1 values(null);
Query OK, 1 row affected (0.01 sec)

mysql> insert into t2 values(4);
Query OK, 1 row affected (0.00 sec)

mysql> insert into t2 values(null);
Query OK, 1 row affected (0.02 sec)

mysql> select last_insert_id() from t1;
+------------------+
| last_insert_id() |
+------------------+
|                5 |
+------------------+
1 row in set (0.00 sec)