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

Beim Abrufen der letzten Insert-ID wird eine falsche Nummer angezeigt

last_insert_id() hat keinen Bezug zu bestimmten Tabellen. In der gleichen Verbindung teilen sich alle Tische das gleiche.

Unten ist eine Demo dafür.

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)