如何使SQL数据库基表中的某一个字段具有唯一特性?

时间:2022-10-01 15:06:24
欲新建一个SQL数据库基表:
CREATE TABLE [dbo].[abc] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO
其中的“id"字段是关键字,自动产生,每次保存时加1,但同时还要求其中的“编号”字段具有唯一性,如何做???
在保存数据时,只要表中出现相同的“编号”,就报错。

7 个解决方案

#1


guid类型

#2


设置为 unique

#3


GUID,自动增加型,时间戮都可以。

#4


时间戮类型 或作一个触发器 在保存时判断 如果没有重复即可保存

#5


补充说明:
“编号”字段的值是通过文本框输入方式得到的,输入后,在保存数据到表时,如果表中存在该值时,不允许保存。
谢谢各位!

#6


CREATE TABLE [dbo].[TABLE1] (
[ID] [int] NULL ,
[Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

Name 就是唯一的。

#7


可以写个Insert触发器判断该值是否有重复.

#1


guid类型

#2


设置为 unique

#3


GUID,自动增加型,时间戮都可以。

#4


时间戮类型 或作一个触发器 在保存时判断 如果没有重复即可保存

#5


补充说明:
“编号”字段的值是通过文本框输入方式得到的,输入后,在保存数据到表时,如果表中存在该值时,不允许保存。
谢谢各位!

#6


CREATE TABLE [dbo].[TABLE1] (
[ID] [int] NULL ,
[Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

Name 就是唯一的。

#7


可以写个Insert触发器判断该值是否有重复.