我在表格中有两列:Object1和Object2。我想以不允许插入两行的方式使对(Object1,Object2)唯一:
Object1
Object2
Object1 = 1, Object2 = 2 Object1 = 2, Object2 = 1
在这种情况下least(),您可以在表达式上创建索引greatest():
least()
greatest()
create unique index idx_obj1_obj2 on table(least(Object1, Object2), greatest(Object1, Object2));
注意:如果各列允许NULL值,则有些奇怪。在那种情况下,无论位于哪个列中,相同的值都只能被允许一次。如果这实际上是一个问题,则可以使用更复杂的表达式来解决。
NULL