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

Hurtigste måde at opdatere en MySQL-tabel på, hvis rækken findes, ellers indsæt. Mere end 2 ikke-unikke nøgler

bare brug INSERT...ON DUPLICATE KEY UPDATE

INSERT INTO reports_adv (day, uid, siteid, cid, visits) 
VALUES ('$day', '$uid', '$sid', '$cid', 1)
ON DUPLICATE KEY UPDATE visits=visits+1;

men før noget andet, bør du definere en UNIQUE begrænsning på kolonnerne.

ALTER TABLE reports_adv  ADD CONSTRAINT tb_uq UNIQUE (day, uid, siteid, cid)



  1. MySQL2 Ruby gem vil ikke installere 10.6

  2. symfony 1.4 propel:build-all virker ikke på Mysql 5.5

  3. MySQL One-to-Many til JSON-format

  4. Forbedre SQL INSERT-forespørgsel for at undgå sql-injektioner