【发布时间】:2020-08-23 09:12:47
【问题描述】:
在 oracle 中有没有一种方法可以强制两列之间的唯一性?
不是两列组合之间的唯一性,而是两列之间跨表的值。
参考资料:
Unique value constraint across multiple columns
示例数据,不应允许:
id | phone1 | phone2
1 | 111 | 111
id | phone1 | phone2
1 | 111 | NULL
2 | 111 | NULL
id | phone1 | phone2
1 | 111 | NULL
2 | NULL | 111
Unique constraint on combination of two columns?
我的 Oracle 版本:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
【问题讨论】:
-
请提供样本数据以及允许和不允许的示例。
-
我添加了参考资料,其中包含我正在寻找的样本。
-
那么,
phone1不能与phone2相同,并且任何值在两列中都应该是唯一的? -
没错。请查看上面的第 2 和第 3 个案例以获取更多信息。总之,这两个字段(
phone1和phone2)的值在表中的两列值中应该是唯一的。
标签: sql oracle multiple-columns unique-constraint