U wilt een unieke index op event_id
en day
:
create unique index idx_recurrence_event_day on recurrence(event_id, day)
Dit voorkomt de duplicatie die u niet wilt.
Als je al duplicaten hebt, zijn er verschillende manieren om ze te verwijderen. Het zou echter gemakkelijker zijn als u voor elke rij een unieke id had, wat een reden is waarom een automatisch oplopende primaire sleutel in alle tabellen nuttig is.
Een manier om er vanaf te komen, zelfs zonder een unieke id, is door het volgende te gebruiken:
alter ignore table recurrence add unique (event_id, day);
Persoonlijk houd ik niet van deze methode omdat het toevoegen van een index geen rijen zou moeten verwijderen, maar dit is een geldige MySQL-extensie.