Unabhängig von der Zeile ist es die einzige Spalte
P粉378264633
2023-09-03 17:26:33
<p>Gibt es eine Möglichkeit, die gesamte Zeile unabhängig vom Wert in der Spalte eindeutig zu machen? </p>
<p>Wenn also die Spalte <code>a</code> <code>1</code> hat, dann hat die Spalte <code>b</code> Wenn Sie <code>2</code> in die Spalte <code>a</code> einfügen, wird ein Fehler angezeigt geworfen. </p>
<pre class="brush:none;toolbar:false;">+---+---+
|. a |. b |
+---+---+
|. 1 |. 2 |
|. 2 |. 1 |- Da das obige bereits vorhanden ist, wird beim Einfügen ein Fehler ausgegeben
+---+---+
</pre></p>
你可以使用触发器来强制执行。但是我想不出一种好的方法来使用UNIQUE KEY约束来实现这一点。
如果你改变存储值的方式,使它们位于单个列中,位于附加表的多行中,那么使用UNIQUE KEY来强制唯一性将更容易。
如果你想表示相关的项目:
如果你需要每个成员只出现在一个组中:
定义2个虚拟生成列,分别为最小值和最大值,并在它们上设置唯一约束:
查看演示。
或者,对于MySql 8.0+:
查看演示。