sql >> Database >  >> RDS >> Mysql

MySQL OP DUPLICATE KEY - laatste invoeg-ID?

Bekijk deze pagina eens:https://web. archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Onderaan de pagina leggen ze uit hoe je LAST_INSERT_ID zinvol kunt maken voor updates door een expressie door te geven aan die MySQL-functie.

Uit het MySQL-documentatievoorbeeld:

Als een tabel een AUTO_INCREMENT-kolom bevat en INSERT ... UPDATE een rij invoegt, retourneert de functie LAST_INSERT_ID() de AUTO_INCREMENT-waarde. Als de instructie in plaats daarvan een rij bijwerkt, heeft LAST_INSERT_ID() geen betekenis. U kunt dit echter omzeilen door LAST_INSERT_ID(expr) te gebruiken. Stel dat id de kolom AUTO_INCREMENT is. Om LAST_INSERT_ID() zinvol te maken voor updates, voegt u als volgt rijen in:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;


  1. Voordelen van het gebruik van SQL Ordinale Positie Notatie?

  2. Hoe vastgoedbeheerders de efficiëntie kunnen verbeteren met een database

  3. XML-tekenreeksparameter doorgeven aan SQL Server opgeslagen procedure

  4. Verbeteringen in voortgangsrapportage in PostgreSQL 12