Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le moyen le plus rapide de mettre à jour une table MySQL si une ligne existe, sinon insérez. Plus de 2 clés non uniques

utilisez simplement 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;

mais avant toute chose, vous devez définir un UNIQUE contrainte sur les colonnes.

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