请建议我如何比较在两列上应用唯一键。即假设我们有两列FK_Col1和FK_Col2,如果我们在两列中插入2和6,那么我们就不能再在两列中插入2和6或6和2。
Plaese建议我如何实现这一目标。
提前致谢
答案 0 :(得分:2)
在其上创建计算列和唯一约束。诀窍是我们希望计算列对(2),(6)
和(6),(2)
具有相同的值:
create table #t (a int, b int,
uq_col as (case when a>b then cast(a as varchar)+'|'+cast(b as varchar) else cast(b as varchar)+'|'+cast(a as varchar) end),
constraint uq_t__a_b unique(uq_col))
答案 1 :(得分:0)
创建表格
CREATE TABLE table1(
COLUMN1 INT NOT NULL,
COLUMN2 VARCHAR(50) NOT NULL,
CONSTRAINT unique_1 UNIQUE (column1, column2)
)
或
ALTER TABLE table1 ADD CONSTRAINT unique_1 UNIQUE(column1, column2)