Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Schnellste Möglichkeit, eine MySQL-Tabelle zu aktualisieren, wenn eine Zeile vorhanden ist, sonst einfügen. Mehr als 2 nicht eindeutige Schlüssel

Verwenden Sie einfach 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;

aber vor allem anderen sollten Sie einen UNIQUE definieren Einschränkung für die Spalten.

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