Ik geloof dat het antwoord hierop wordt behandeld in de MySQL documenten :
Als een tabel een AUTO_INCREMENT
. bevat kolom en INSERT
... UPDATE
voegt een rij in, de LAST_INSERT_ID()
functie retourneert de AUTO_INCREMENT
waarde. Als de instructie in plaats daarvan een rij bijwerkt, LAST_INSERT_ID()
is niet zinvol. U kunt dit echter omzeilen door LAST_INSERT_ID(expr)
. te gebruiken . Stel dat id de AUTO_INCREMENT
. is kolom. Om LAST_INSERT_ID()
. te maken zinvol voor updates, voeg rijen als volgt in:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;