sql >> Databáze >  >> RDS >> Mysql

MySQL - Zvýšit hodnotu sloupce nebo vložit data, pokud neexistují

Vynechali jste datový sloupec ve svém příkladu vložení, ale několikrát jste ho zmínili, takže budu předpokládat, že existuje. Také předpokládám, že se jedná o skutečné datum (nikoli časové razítko nebo datum a čas).

Pokud přidáte jedinečný index na (uživatel, akce, datum), bude váš dotaz fungovat.

Zde je DDL:

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

A váš DML (přidání sloupce data):

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


  1. MySQL 8 rozdělte řetězec čárkou a převeďte jej na JSON ARRAY

  2. MySQL Vyberte toto i toto

  3. C# + MySQL připravilo prohlášení s problémy s aktualizací DUPLICATE KEY

  4. Jaká nastavení mysql ovlivňují rychlost LOAD DATA INFILE?