Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie identyfikatora ostatniej wstawki pokazuje zły numer

last_insert_id() nie ma związku z określonymi tabelami. W tym samym połączeniu wszystkie tabele współdzielą to samo.

Poniżej znajduje się 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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj wyniki, które mieszczą się w promieniach znaczników z bazy danych

  2. Zapisywanie obiektów Pickled Pythona w bazie danych MySQL

  3. Problem z buforem MySqlDataReader GetBytes...

  4. nodejs mysql bulk INSERT na DUPLICATE KEY UPDATE

  5. SQL — Aktualizuj wiele rekordów w jednym zapytaniu