Anda meninggalkan kolom data dari contoh penyisipan Anda, tetapi Anda menyebutkannya beberapa kali jadi saya akan menganggap itu ada. Juga, saya berasumsi itu adalah tanggal yang sebenarnya (bukan stempel waktu atau waktu).
Jika Anda menambahkan indeks unik pada (pengguna, tindakan, tanggal) maka kueri Anda akan berfungsi.
Ini DDLnya:
alter table useractions
add unique index unique_idx (user,action,date);
Dan DML Anda (menambahkan kolom tanggal):
insert into useractions (user, action, times, date) values (2, 3, 1, current_date())
on duplicate key update times = times + 1;