sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Øg kolonneværdi eller indsæt data, hvis ikke eksisterer

Du har udeladt datakolonnen fra dit indsættelseseksempel, men du nævnte det flere gange, så jeg antager, at det eksisterer. Jeg antager også, at det er en faktisk dato (ikke et tidsstempel eller datetime).

Hvis du tilføjer et unikt indeks på (bruger, handling, dato), vil din forespørgsel fungere.

Her er DDL:

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

Og din DML (tilføje datokolonnen):

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


  1. Indsætte hele DataTable i databasen på én gang i stedet for række for række?

  2. kan couchdb lave loops

  3. Hvordan kan jeg sortere efter flere kolonner, men ikke efter værdi?

  4. Indeksering af booleske felter