如何有效地在表中的两个字段上创建唯一索引,如下所示: create table t (a integer, b integer);
其中两个不同数字的任何唯一组合不能在表的同一行上出现多次。
换句话说,如果存在 a=1 和 b=2 的行,则不能存在 a=2 和 b=1 或 a=1 和 b=2 的另一行。换句话说,两个数字不能以任何顺序一起出现多次。
我不知道这样的约束被称为什么,因此标题中的“双面唯一索引”名称。
更新:如果我在列 (a,b) 上有一个复合键,并且数据库中存在一行 (1,2),则可以插入另一行 (2,1) 而不会出错。我正在寻找的是一种防止同一对数字以任何顺序多次使用的方法......