Mysql
 sql >> Database >  >> RDS >> Mysql

Il recupero dell'ID dell'ultimo inserto mostra un numero errato

last_insert_id() non ha alcuna relazione con tabelle specifiche. Nella stessa connessione, tutte le tabelle condividono lo stesso.

Di seguito è riportata una demo.

Demo:

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)