Bạn đã bỏ cột dữ liệu ra khỏi ví dụ chèn của mình, nhưng bạn đã đề cập đến cột này vài lần nên tôi sẽ giả định rằng cột đó tồn tại. Ngoài ra, tôi giả sử đó là một ngày thực tế (không phải dấu thời gian hoặc ngày giờ).
Nếu bạn thêm một chỉ mục duy nhất vào (người dùng, hành động, ngày) thì truy vấn của bạn sẽ hoạt động.
Đây là DDL:
alter table useractions
add unique index unique_idx (user,action,date);
Và DML của bạn (thêm cột ngày):
insert into useractions (user, action, times, date) values (2, 3, 1, current_date())
on duplicate key update times = times + 1;