Maison > Article > base de données > Comment éviter les valeurs en double lors de l'INSERT dans SQL ?
Prévention des valeurs en double lors de l'INSERT dans SQL
Étant donné une table "Délégués" avec les colonnes "ID", "MemberNo", "FromYr, " et "ToYr", l'utilisateur doit empêcher l'insertion de valeurs en double provenant de sa saisie. La requête d'origine, INSERT INTO Delegates ([MemNo],[FromYr],[ToYr]) valeurs (@MemNo, @FromYr,@ToYr), permet des entrées en double pour le même membre et la même année.
À Pour résoudre ce problème, l'utilisateur peut utiliser la commande MERGE. MERGE combine les fonctionnalités des instructions INSERT, UPDATE et DELETE en une seule opération. L'instruction MERGE suivante permettra d'obtenir le comportement souhaité :
<code class="sql">MERGE INTO Delegates D USING (values(@MemNo, @FromYr,@ToYr)) X ([MemNo],[FromYr],[ToYr]) ON (insert unique key join) WHEN NOT MATCHED BY TARGET THEN INSERT ([MemNo],[FromYr],[ToYr])) VALUES (X.[MemNo],X.[FromYr],X.[ToYr]);</code>
Cette instruction MERGE effectue les opérations suivantes :
En utilisant cette instruction MERGE, l'utilisateur peut s'assurer que les valeurs en double ne sont pas insérées dans le tableau "Délégués".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!