Mysql
 sql >> база данни >  >> RDS >> Mysql

SELECT LAST_INSERT_ID() връща 0 след използване на подготвен израз

LAST_INSERT_ID ще работи само за автоматично генериран първичен ключ, който е създаден в полето auto_increment. Във вашия случай изглежда, че предоставяте идентификатора изрично, така че последният идентификационен номер за вмъкване не е зададен.

Това е изрично:

mysql> insert into test (id, name) VALUES (5, 'test 2');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                0 |
+------------------+
1 row in set (0.00 sec)

Това е имплицитно:

mysql> insert into test (name) values ('test');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                3 |
+------------------+
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. Как да изпратите MySQL Database Data към MVC .NET уеб приложение

  2. Как работи функцията LOCATE() в MySQL

  3. mysql репликация - главен към подчинен

  4. Показване на дата от база данни PHP

  5. Eclipse - добавете .jar към динамичен уеб проект