挿入例からデータ列を除外しましたが、何度か言及したので、それが存在すると仮定します。また、これは実際の日付(タイムスタンプや日時ではない)であると想定しています。
(user、action、date)に一意のインデックスを追加すると、クエリが機能します。
DDLは次のとおりです:
alter table useractions
add unique index unique_idx (user,action,date);
そして、DML(日付列を追加):
insert into useractions (user, action, times, date) values (2, 3, 1, current_date())
on duplicate key update times = times + 1;