ホームページ > に質問 > 本文
如有一表结构:
CREATE TABLE t1( c1 INT, c2 INT, c3 INT );
我如何写约束使得对任何两行,第一行的 c1, c2, c3 中任何一个与第二行的 c1, c2, c3 的任何一个均不同,且每一行的 c1, c2, c3 彼此不同?
c1
c2
c3
Update: 查了 stackexchange 人家表示 unique 约束写不了,不过可以写 check 解决~ 看看童鞋们有没有好办法。。。
PHP中文网2017-04-17 12:59:32
只能写check加约束了
感觉这种约束可能实现不了。 换种思路的话,需要在对表进行INSERT、UPDATE、DELETE的时候获取相关行,判断一下。
ringa_lee2017-04-17 12:59:32
换种思维: 把要存的多列值放到一个列, 给这个列加唯一约束, 加个额外的属性标识属于不同的用途