Mysql
 sql >> Datenbank >  >> RDS >> Mysql

LAST_INSERT_ID() gibt immer 0 zurück (RMySQL) - separates Verbindungsproblem

Sie fügen NULL ein Werte in die Spalte Primärschlüssel. Da Sie nicht zwei Zeilen mit demselben PK haben können, fügen Sie wahrscheinlich keine echten Daten ein (was wahrscheinlich auch ein Fehler ist, den Sie abfangen möchten). Versuchen Sie:

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

Wenn Sie das ausführen, sollten Sie zwei verschiedene Werte für last_insert_id erhalten.

Edit:missverstanden. Siehe hier für die Details zu LAST_INSERT_ID . Überarbeitete Antwort:Wenn Sie keinen Wert in einem AUTO_INCREMENT angeben Spalte, dann Sie sollten eine LAST_INSERT_ID erhalten Wert zurückgegeben. Versuchen Sie in diesem Fall:

INSERT INTO t DEFAULT VALUES