Anda ingin indeks unik di event_id
dan day
:
create unique index idx_recurrence_event_day on recurrence(event_id, day)
Ini akan mencegah duplikasi yang tidak Anda inginkan.
Jika Anda sudah memiliki duplikat ada berbagai cara untuk menghilangkannya. Namun, akan lebih mudah jika Anda memiliki id unik untuk setiap baris, yang merupakan salah satu alasan mengapa kunci utama yang ditambahkan secara otomatis berguna di semua tabel.
Salah satu cara untuk menghilangkannya bahkan tanpa id unik adalah dengan menggunakan:
alter ignore table recurrence add unique (event_id, day);
Secara pribadi, saya tidak suka metode ini karena menambahkan indeks seharusnya tidak menghapus baris, tetapi ini adalah ekstensi MySQL yang valid.