sql >> Database >  >> RDS >> Mysql

SELECT LAST_INSERT_ID() retourneert 0 na gebruik van de voorbereide instructie

LAST_INSERT_ID zou alleen werken voor automatisch gegenereerde primaire sleutel, die is gemaakt in het veld auto_increment. In jouw geval lijkt het alsof je de id expliciet opgeeft, dus de laatste insert id is niet ingesteld.

Dit is expliciet:

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)

Dit is impliciet:

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. Terugkerende uitvoer van Python CGI MySQL-script

  2. JPA @Version veld wordt niet verhoogd

  3. Uitvoeren van ExecuteScalar() wanneer er geen resultaten worden geretourneerd

  4. Rijen zoeken die geen numerieke gegevens bevatten in Oracle