sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Öka kolumnvärde eller infoga data om det inte finns

Du lämnade datakolumnen utanför ditt infogningsexempel, men du nämnde det flera gånger så jag antar att det finns. Jag antar också att det är ett verkligt datum (inte en tidsstämpel eller datumtid).

Om du lägger till ett unikt index på (användare, åtgärd, datum) kommer din fråga att fungera.

Här är DDL:

alter table useractions
  add unique index unique_idx (user,action,date);

Och din DML (lägger till datumkolumnen):

insert into useractions (user, action, times, date) values (2, 3, 1, current_date())
on duplicate key update times = times + 1;


  1. 13 bästa metoder för SQL Server-säkerhet

  2. php mysql fulltextsökning:lucene, sfinx eller?

  3. REGEXP_INSTR() Funktion i Oracle

  4. Hur man proaktivt samlar in SQL Server Index Fragmenteringsinformation