sql >> Database >  >> RDS >> Mysql

LAST_INSERT_ID() retourneert altijd 0 (RMySQL) - afzonderlijk verbindingsprobleem

Je voegt NULL in waarden in de kolom Primaire sleutel. Aangezien u geen twee rijen met dezelfde PK kunt hebben, voegt u waarschijnlijk geen echte gegevens in (wat waarschijnlijk ook een fout is die u wilt opvangen). Probeer:

dbSendQuery(con, "INSERT INTO t VALUES(5);")

Als u dat uitvoert, krijgt u twee verschillende waarden voor last_insert_id.

Edit:verkeerd begrepen. Zie hier voor de details over LAST_INSERT_ID . Herzien antwoord:als u geen waarde opgeeft in een AUTO_INCREMENT kolom, vervolgens je zou een LAST_INSERT_ID . moeten krijgen waarde geretourneerd. Probeer in dat geval:

INSERT INTO t DEFAULT VALUES


  1. SAP Lumira en de JDBC-ODBC-brug

  2. Hoe kan ik een Arabisch woord in de mysql-database invoegen met java

  3. Hoe RANK() werkt in SQL Server

  4. MySQL-triggers om het veld bij te werken op basis van de som van de kolom uit een andere tabel