Du vill ha ett unikt index på event_id
och day
:
create unique index idx_recurrence_event_day on recurrence(event_id, day)
Detta kommer att förhindra duplicering som du inte vill ha.
Om du redan har dubbletter finns det olika sätt att bli av med dem. Det skulle dock vara enklare om du hade ett unikt id för varje rad, vilket är en anledning till att en auto-inkrementerad primärnyckel är användbar i alla tabeller.
Ett sätt att bli av med dem även utan ett unikt ID är att använda:
alter ignore table recurrence add unique (event_id, day);
Personligen gillar jag inte den här metoden eftersom att lägga till ett index inte borde radera rader, men det här är ett giltigt MySQL-tillägg.