Ho una tabella di database con un vincolo di chiave univoco definito per evitare che si verifichino record duplicati.Controllo per record duplicati VS try/catch Unico vincolo di chiave
Sono curioso se è una cattiva pratica NON controllare manualmente i record duplicati prima di eseguire un'istruzione INSERT sulla tabella.
In altre parole, dovrei eseguire un'istruzione SELECT utilizzando una clausola WHERE che controlla i valori duplicati del record che sto per INSERIRE. Se viene trovato un record, quindi non eseguire l'istruzione INSERT, altrimenti andare avanti ed eseguire l'INSERT ....
O
Basta eseguire l'istruzione INSERT e try/catch l'eccezione che può essere gettato a causa a una violazione di chiave univoca.
sto pesando i due punti di vista e non riesco a decidere quale è best- 1. Non sprecare una chiamata SELECT per controllare i duplicati quando posso solo trappola per un'eccezione VS 2. Non essere pigro implementando la logica brutto try/catch VS 3. ??? I tuoi pensieri qui ??? :)