【发布时间】:2014-06-04 17:53:58
【问题描述】:
我正在尝试制作两张表:一张用于author,一张用于他们的音乐专辑。
作者不能拥有多个同名专辑。它应该每个author ID / name / 不管工作一次。
这是不允许的:
Author | Album name
-------------------
Johny | FireGrasp
Johny | FireGrasp
这应该是允许的:
Author | Album name
-------------------
Johny | FireGrasp
Mandy | FireGrasp
要不要办理手续?
我将尝试通过代码应该如何工作来解释它:
insert into Author(Val) VALUES ('John'), ('Mandy');
-- Author_id: 3=John, 4=Marx
insert into Album(Val, Author_id) VALUES ('Firegrasp', 3);
insert into Album(Val, Author_id) VALUES ('Firegrasp', 3); -- This should not work now
insert into Album(Val, Author_id) VALUES ('Firegrasp', 4); -- This should work
【问题讨论】:
-
如果您在作者和专辑名称列上创建唯一索引,如果该作者和专辑名称已经存在,SQL 将阻止插入行。
标签: tsql duplicates unique uniq