sql >> Base de Datos >  >> RDS >> Mysql

La forma más rápida de actualizar una tabla MySQL si existe una fila, de lo contrario, inserte. Más de 2 claves no únicas

simplemente use 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;

pero antes que nada, debes definir un UNIQUE restricción en las columnas.

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