Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najszybszy sposób na zaktualizowanie tabeli MySQL, jeśli wiersz istnieje, wstawiaj. Więcej niż 2 nieunikalne klucze

po prostu użyj 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;

ale przede wszystkim powinieneś zdefiniować UNIQUE ograniczenie na kolumny.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Obcinanie tabeli w ramach transakcji?

  2. Zapytanie o liczbę tabel, które mam w MySQL

  3. Zatrzymywanie ostrzeżeń MySQL w Pythonie

  4. emulacja funkcji substring_index() MySQL w PGSQL

  5. Wstaw tablicę PDO używając klucza jako nazwy kolumny