行に関係なく、列は 1 つだけです
P粉378264633
2023-09-03 17:26:33
<p>列の値に関係なく行全体を一意にする方法はありますか? </p>
<p>つまり、列 <code>a</code> に <code>1</code> があり、列 <code>b</code> に <code>2</code> がある場合、 <code>2</code> を列 <code>a</code> に挿入し、<code>1</code> を列 <code>b</code> に挿入すると、エラーが発生します。投げられた。 </p>
<pre class="ブラシ:none;ツールバー:false;"> --- ---
| a | b |
--- ---
| 1 | 2 |
| 2 | 1 | <- 上記はすでに存在するため、挿入時にエラーがスローされます
--- ---
</pre></p>
トリガーを使用して実行を強制できます。しかし、UNIQUE KEY 制約を使用してこれを実現する良い方法が思いつきません。
アタッチされたテーブルの複数の行に値が 1 つの列に収まるように値を格納する方法を変更すると、UNIQUE KEY を使用して一意性を強制することが簡単になります。
関連項目を記載したい場合:
リーリー各メンバーを 1 つのグループのみに表示する必要がある場合:
リーリー2 つの仮想生成列 (それぞれ最小値と最大値) を定義し、それらに一意の制約を設定します。 リーリー
表示デモ。
または、MySql 8.0 の場合:リーリー
表示デモ。