sql >> Databasteknik >  >> RDS >> Mysql

Hur uppdaterar jag om det finns, infogar om inte (AKA upsert or merge) i MySQL?

Använd INSERT ... ON DUPLICATE KEY UPDATE . Till exempel:

INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used` + 1


  1. Användarkontohantering, roller, behörigheter, autentisering PHP och MySQL - Del 6

  2. Finns det en VERKLIG prestandaskillnad mellan INT- och VARCHAR-primärnycklar?

  3. Vad förklarar PostgreSQL exakt för mig?

  4. Vad är @@SERVICENAME i SQL Server?