Mysql
 sql >> Database >  >> RDS >> Mysql

Impedisci valori duplicati nel database - mysql

Vuoi un indice univoco su event_id e day :

create unique index idx_recurrence_event_day on recurrence(event_id, day)

Ciò impedirà la duplicazione che non desideri.

Se hai già dei duplicati, puoi sbarazzartene in vari modi. Tuttavia, sarebbe più semplice se avessi un ID univoco per ogni riga, motivo per cui una chiave primaria con incremento automatico è utile in tutte le tabelle.

Un modo per eliminarli anche senza un ID univoco è utilizzare:

alter ignore table recurrence add unique (event_id, day);

Personalmente, non mi piace questo metodo perché l'aggiunta di un indice non dovrebbe eliminare le righe, ma questa è un'estensione MySQL valida.