sql >> Databasteknik >  >> RDS >> Mysql

LAST_INSERT_ID() returnerar alltid 0 (RMySQL) - separat anslutningsproblem

Du infogar NULL värden i kolumnen Primärnyckel. Eftersom du inte kan ha två rader med samma PK, lägger du förmodligen inte in någon riktig data (vilket också förmodligen är ett fel du vill fånga upp). Försök:

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

Att köra som borde ge dig två olika värden för last_insert_id.

Edit:missförstått. Se här för information om LAST_INSERT_ID . Reviderat svar:om du inte anger ett värde i en AUTO_INCREMENT kolumn, sedan du bör få en LAST_INSERT_ID värde returneras. Försök i så fall:

INSERT INTO t DEFAULT VALUES


  1. Använder merge..output för att få mappning mellan source.id och target.id

  2. MySQL:Använder DATETIME som primärnyckel

  3. Hur man ändrar rotlösenordet för MySQL eller MariaDB i Linux

  4. Openshift och net-ssh inkompatibilitet? (2.9.3-beta1 mot 2.9.2)