sql >> Database teknologi >  >> RDS >> Mysql

LAST_INSERT_ID() returnerer altid 0 (RMySQL) - separat forbindelsesproblem

Du er ved at indsætte NULL værdier i kolonnen Primær nøgle. Da du ikke kan have to rækker med den samme PK, indsætter du sandsynligvis ikke reelle data (hvilket også sandsynligvis er en fejl, du vil fange). Prøv:

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

Udførelse af det skulle give dig to forskellige værdier for last_insert_id.

Edit:misforstået. Se her for detaljer om LAST_INSERT_ID . Revideret svar:hvis du ikke angiver en værdi i en AUTO_INCREMENT kolonne, derefter du bør få en LAST_INSERT_ID værdi returneret. I så fald kan du prøve:

INSERT INTO t DEFAULT VALUES


  1. Rækkeversionering i MySQL

  2. Hvordan fremskynder man en dataindlæsning i InnoDB (LOAD DATA INFILE)?

  3. FEJL 1067 (42000):Ugyldig standardværdi for 'created_at'

  4. Tips til fjernstyring af PostgreSQL