Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A maneira mais rápida de atualizar uma tabela MySQL se existir uma linha, senão inserir. Mais de 2 chaves não exclusivas


basta usar 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;

mas antes de mais nada, você deve definir um UNIQUE restrição nas colunas.
ALTER TABLE reports_adv  ADD CONSTRAINT tb_uq UNIQUE (day, uid, siteid, cid)