根据多个列唯一值生成ID中的唯一下一个值

时间:2018-04-02 10:39:08

标签: sql sql-server

我在下面有三列:

ID | Tag_name | View_name
--------------------------
12 | 23_GB_23 | screen1
13 | 23_GB_24 | screen2

如何根据Tag_name和View_name列生成ID中的唯一下一个值, Tag_name,View_name应该是唯一的。

我正在考虑使用NOT NULL IDENTITY或使用sequence_name.nextval以及如何确保只插入Tag_name,View_name唯一值,将主键放在此列上?有没有有效的方法来管理这种情况?

感谢, 小号

1 个答案:

答案 0 :(得分:2)

您可以在这些列上使用复合主键 主键(Tag_name,View_name)

Alter table table_name 
ADD PRIMARY KEY (Tag_name, View_name)

现在只插入唯一值,此列不会接受null。 如果希望列接受null,则可以使用UNIQUE CONSTRAINTS