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

发布于 2022-09-01 11:55:23 字数 396 浏览 8 评论 0

如有一表结构:

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

邮友 2022-09-08 11:55:23

只能写check加约束了

娇纵 2022-09-08 11:55:23

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

拥抱没勇气 2022-09-08 11:55:23

换种思维: 把要存的多列值放到一个列, 给这个列加唯一约束, 加个额外的属性标识属于不同的用途

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文