Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-бързият начин за актуализиране на MySQL таблица, ако съществува ред, вмъкнете. Повече от 2 неуникални ключа

просто използвайте 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;

но преди всичко друго, трябва да дефинирате UNIQUE ограничение на колоните.

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. MySQLi не успява да подготви изявление

  2. Методът за удостоверяване „mysql_old_password“ не се поддържа

  3. Форматирайте датата в MySQL, за да върнете MonthName, Year

  4. Присъединяване на таблица с MAX стойност от друга

  5. Вземете редове от mysql таблица към php масиви