Искате уникален индекс на event_id
и day
:
create unique index idx_recurrence_event_day on recurrence(event_id, day)
Това ще предотврати дублирането, което не желаете.
Ако вече имате дубликати, има различни начини да се отървете от тях. Въпреки това би било по-лесно, ако имате уникален идентификатор за всеки ред, което е една от причините, поради които автоматично увеличеният първичен ключ е полезен във всички таблици.
Един от начините да се отървете от тях дори без уникален идентификатор е да използвате:
alter ignore table recurrence add unique (event_id, day);
Лично аз не харесвам този метод, защото добавянето на индекс не трябва да изтрива редове, но това е валидно разширение на MySQL.