我在数据库中有两列类型和名称。我想应用一个唯一约束,其中名称在每种类型中都是唯一的。
Type Name
A ABC
R ABC
B ABC
应该被允许,而
Type Name
A ABC
A ABC
不应该被允许
如何在每种类型中名称唯一的情况下强制执行此约束?
谢谢,
我在数据库中有两列类型和名称。我想应用一个唯一约束,其中名称在每种类型中都是唯一的。
Type Name
A ABC
R ABC
B ABC
应该被允许,而
Type Name
A ABC
A ABC
不应该被允许
如何在每种类型中名称唯一的情况下强制执行此约束?
谢谢,
您可以像这样创建多列唯一约束
ALTER TABLE MyTable ADD UNIQUE (Type, Name)
这将执行您描述的规则。
创建表时,您可以执行
CREATE TABLE YourTable(
Name VARCHAR(255) NOT NULL,
Type VARCHAR(255) NOT NULL,
PRIMARY KEY (Type, Name)
)
或者你可以改变你的桌子
ALTER TABLE YourTable ADD PRIMARY KEY (Type, Name)
之后我执行了以下四个..(最后一个失败)
insert into YourTable values('AB','ABD')
insert into YourTable values('AA','ABD')
insert into YourTable values('AA','ABC')
insert into YourTable values('AA','ABD')
谢谢, 吉格