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

Henter sidste indsættelses-id viser forkert nummer

last_insert_id() har ingen relation til specifikke tabeller. I samme forbindelse deler alle borde det samme.

Nedenfor er en demo for det.

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)


  1. ORA-01027:bindevariabler er ikke tilladt til datadefinition, når de forsøger at bruge if elseif

  2. VÆLG ved hjælp af UNION-klausul

  3. PHP PDO med foreach and fetch

  4. Sådan installeres flere PostgreSQL-servere på RedHat Linux