आप 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 एक्सटेंशन है।