Quelle que soit la ligne, est la seule colonne
P粉378264633
2023-09-03 17:26:33
<p>Existe-t-il un moyen de rendre la ligne entière unique, quelle que soit la valeur de la colonne ? </p>
<p>Donc, si la colonne <code>a</code> contient <code>1</code>, la colonne <code>b</code> si vous insérez <code>2</code> dans la colonne <code>a</code>, insérez <code>1</code> jeté. </p>
<pre class="brush:none;toolbar:false;">+---+---+
un b |
+---+---+
| 1 | 2 |
| 2 | 1 | <- Puisque ce qui précède existe déjà, une erreur sera générée lors de l'insertion.
+---+---+
</pre></p>
Vous pouvez utiliser des déclencheurs pour forcer l'exécution. Mais je ne trouve pas de bon moyen d'y parvenir en utilisant les contraintes UNIQUE KEY.
Si vous modifiez la façon dont vous stockez les valeurs afin qu'elles soient dans une seule colonne, dans plusieurs lignes du tableau ci-joint, il sera plus facile d'utiliser UNIQUE KEY pour renforcer l'unicité.
Si vous souhaitez indiquer des éléments connexes :
Si vous souhaitez que chaque membre apparaisse dans un seul groupe :
Définissez 2 colonnes virtuelles générées, respectivement minimum et maximum, et définissez-leur des contraintes uniques :
Voir Démo.
Ou, pour MySql 8.0+ :
Voir Démo.