如何在 sql server表中设置字段为唯一约束?

如何在 sql server表中设置字段为唯一约束?,第1张

数据库约束是程序开发中常用的重要知识点,建立约束的数据,在输入中有两个一样的保存就会出错,需要建立唯一约束。

那就给大家详细的列举一下如何在 sql server表中设置字段为唯一约束。

具体 *** 作步骤:

新建数据库并设置可写权限

打开SQL Server管理器窗口,用本地用户登录;然后点击右键——新建数据库;完成之后将数据库文件及日志文件设置为可读可写:

新建数据表

展开数据库,点击表——新建表,输入名称及数据类型。

设置主键约束

点击表右键——设计——选中id——右键——设置主键,将id设置为主键,主键默认唯一。

测试主键约束

在数据表中输入数据,为测试主键的约束,输入两行一模一样的id,保存;

如图所示,保存会提示主键不允许重复。

设置非主键唯一值约束

选中表,点击菜单栏——新建查询,将IDcard设为非主键唯一值,输入以下代码:ALTER TABLE Users ADD unique(IDcard),然后点击执行。

测试非主唯一约束

在数据表中输入两行id不同,IDCard相同的数据,并保存;若出现错误提示,将IDCard修改之后再检测。

关闭数据库并断开连接

由于数据库会在后台运行,所以测试完之后,本地数据库一定要断开连接,然后关闭。

以上就是具体的 *** 作办法了。

如果已经存在的表中是有数据的,那么你不能用一句SQL实现你的目标。
因为,如果表中已经有数据,那么你创建的新列,在已有的记录中要么是空值,要么是你设置的缺省值,因此所有记录中,该列的值都是一样的,因此对该列不能建立唯一性约束。
可采用两种做法:
1删除原表的所有数据,就可以创建;
2先不建立唯一约束,只建立列,然后给每行记录的该列赋于不同的值。
然后再设置该列为非空;
然后再为该列设置唯一约束。

1、首先,打开sqlserver软件,右键点击要设计的表选择设计,选中一列右键设置主键,该列就设置成了主键了,删除主键同理,设置好了前面有一把钥匙。

2、设置唯一键和索引键也是右键选中的列(空白的地方也行),点击‘索引/键’。

3、这里注意,刚刚选择的列不是在那个选中的列上设置,而是以整个表来设置的,因此能看到刚才设置的主键。

4、现在不是改信息而是新建一个,点击添加。

5、然后点击列,出来隐藏的省略号,再点击它。

6、选择要设置的列,后面可以设置排序。

7、再点击类型可以设置唯一键/索引/列存储索引,选择需要设置的。

8、最后就设置完成了,点击保存,到此就完成了。

建表时加上唯一性约束:

CREATE TABLE `t_user` (

`Id` int(11) NOT NULL AUTO_INCREMENT,  -- 自增

`username` varchar(18) NOT NULL unique,  -- 唯一性约束

`password` varchar(18) NOT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;

MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

扩展资料

MySQL 作为数据库,系统特性:

1、使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种 *** 作系统。

3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,NET和 Tcl 等。

4、优化的 SQL查询算法,有效地提高查询速度。

5、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

6、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。支持多种存储引擎。

参考资料:

百度百科-mySQL


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13329685.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-31
下一篇2025-08-31

发表评论

登录后才能评论

评论列表(0条)

    保存