無論行如何,都是唯一的列
P粉378264633
2023-09-03 17:26:33
<p>無論列中的值是什麼,是否有辦法讓整行都是唯一的? </p>
<p>所以,如果列<code>a</code> 中有<code>1</code>,列<code>b</code> 中有<code>2</code>b</code> 中有<code>2</code> ,那麼如果你將<code>2</code> 插入到列<code>a</code> 中,將<code>1</code> 插入到列<code>b</code>中,將會拋出錯誤。 </p>
<pre class="brush:none;toolbar:false;"> --- ---
| a | b |
--- ---
| 1 | 2 |
| 2 | 1 | <- 由於上面已經存在,插入時會拋出錯誤
--- ---
</pre></p>
你可以使用觸發器來強制執行。但是我想不出一種好的方法來使用UNIQUE KEY約束來實現這一點。
如果你改變儲存值的方式,讓它們位於單一欄位中,位於附加資料表的多行中,那麼使用UNIQUE KEY來強制唯一性將會更容易。
如果你想表示相關的項目:
如果你需要每個成員只出現在一個群組中:
定義2個虛擬生成列,分別為最小值和最大值,並在它們上設定唯一限制:
查看演示。
或者,對於MySql 8.0 :
查看演示。