sql 如何约束多列中所有值均不同?


如有一表结构:


 CREATE TABLE t1(
    c1 INT,
    c2 INT,
    c3 INT
);

我如何写约束使得对任何两行,第一行的 c1 , c2 , c3 中任何一个与第二行的 c1 , c2 , c3 的任何一个均不同,且每一行的 c1 , c2 , c3 彼此不同?

Update:
查了 stackexchange 人家表示 unique 约束写不了,不过可以写 check 解决~
看看童鞋们有没有好办法。。。

PostgreSQL sqlserver mysql sqlite sql

帕秋莉姆Q 10 years ago

感觉这种约束可能实现不了。
换种思路的话,需要在对表进行INSERT、UPDATE、DELETE的时候获取相关行,判断一下。

平和島靜雄 answered 10 years ago

Your Answer