SQLServer之PRIMARY KEY约束
PRIMARY KEY约束添加规则
1、在表中常有一列或多列的组合,其值能唯一标识表中的每一行,这样的一列或多列成为表的主键(PrimaryKey)。
2、一个表只能有一个主键,而且主键约束中的列不能为空值。
3、只有主键列才能被作为其他表的外键所创建。
4、一般情况下一个表中只能有一个主键。
使用SSMS数据库管理工具添加主键约束
使用SSMS数据库管理工具添加一列作为一个主键约束
1、连接数据库,选择数据表-》右键点击,选择设计。
2、在新窗口中,选择一行,右键点击-》选择设置主键-》点击保存按钮(或者ctrl+s)。
3、刷新表查看示例结果。
使用SSMS数据库管理工具添加多列作为一个主键约束
1、连接数据库,选择数据表-》右键点击-》选择设计。
2、在新窗口中-》按下ctrl键,选择多行-》右键点击-》选择设置主键-》点击保存(或者ctrl+s)。
3、刷新表查看示例结果。
使用T-SQL脚本添加主键约束
使用T-SQL脚本添加一列作为一个主键约束
当表中约束存在时,不可以直接添加主键约束,因为一张表只允许存在一个主键约束,如果需要添加主键约束需要先删除已存在的主键约束再添加主键约束。当表中不存在主键约束时,可直接添加主键约束。
语法:
if exists(select * from sysobjects where name=约束名)
alter table 数据库名.[dbo].表名 drop constraint 约束名;
alter table 数据库名.[dbo].表名 add constraint 约束名 primary key(列名 [asc|desc]);
示例:
--如果约束存在则删除约束,如果约束不存在则不删除
if exists(select * from sysobjects where name='idcon2')
alter table [testss].[dbo].[test1] drop constraint idcon2;
--添加约束
alter table [testss].[dbo].[test1] add constraint idcon2 primary key(id asc);
使用T-SQL脚本添加多列作为一个主键约束
当表中约束存在时,不可以直接添加主键约束,因为一张表只允许存在一个主键约束,如果需要添加主键约束需要先删除已存在的主键约束再添加主键约束。当表中不存在主键约束时,可直接添加主键约束。
语法:
--添加多列主键约束
if exists(select * from sysobjects where name=约束名)
alter table 数据库名.[dbo].表名 drop constraint 约束名;
alter table 数据库名.[dbo].表名 add constraint 约束名 primary key(列名 [asc|desc],列名 [asc|desc],......);
示例:
--添加多列主键约束
if exists(select * from sysobjects where name='idcon2')
alter table [testss].[dbo].[test1] drop constraint idcon2;
--添加约束
alter table [testss].[dbo].[test1] add constraint idcon2 primary key(id asc,name desc);
PRIMARY KEY约束优缺点
优点:
1、简单、效率高。
2、保证数据完整性。
3、不会有空值。
4、不允许存在重复值。
缺点:
1、主键自增一般使用int型,有数据条数的限制。
2、在数据库进行数据合并时会比较麻烦。
转载于:https://www.cnblogs.com/lonelyxmas/p/9620598.html
SQLServer之PRIMARY KEY约束相关推荐
- mysql的primary key_MySQL Primary Key约束
在本教程中,您将学习如何使用MySQL主键(Primary Key)约束来创建表的主键. MySQL主键简介 MySQL主键(Primary Key)是唯一标识表中每行的列或一组列.当定义表的主键时, ...
- mysql constraint primary key_SQL PRIMARY KEY 约束
原标题:SQL PRIMARY KEY 约束 SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. ...
- SQL语法之PRIMARY KEY 约束
SQL学习 学习SQL语法 SQL语法 SQL学习 SQL PRIMARY KEY 约束 SQL PRIMARY KEY Constraint on CREATE TABLE SQL PRIMARY ...
- 【升级U8+】升级U8错误:违反了 PRIMARY KEY 约束‘PK_NB_VisibleField’
[升级错误] C:\U8SOFT\Admin\SQLFILE8600\Main\Ufdata\dprd_nb.sql 错误信息: -2147217873 违反了 PRIMARY KEY 约束 'PK_ ...
- 无法在表 'Test' 中可为空的列上定义 PRIMARY KEY 约束
如果您建的表中该列不为空的话那么就可以利用下述语句将该列设置为主键 建立一个表 test create table Test( autoid int not null)--其中autoid 列不为空 ...
- PRIMARY KEY约束
PRIMARY KEY约束 PRIMARY KEY简介 主键是唯一标识表中每一行的列或一组列. 可以使用 PRIMARY KEY 约束为表创建主键. 如果主键只包含一列,则可以将 PRIMARY KE ...
- SQL PRIMARY KEY 约束
SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...
- SQL学习之primary key约束
目录 参考源 SQL primary key 约束 primary key create table 时的 SQL primary key 约束 MySQL / SQL Server / Oracle ...
- 【升级U8+】违反了 PRIMARY KEY 约束 ‘PK_VoucherPrefabricate‘。不能在对象 ‘dbo.VoucherPrefabricate‘ 中插入重复键。
[升级错误] C:\U8SOFT\Admin\SQLFILE8610\Main\Ufdata\data\NL\Data_Data_QM_mix_NL.sql 错误信息: -2147217873 违反了 ...
最新文章
- windows从cmd中键入命令的一些常用小工具
- Android 软键盘按键监控
- Hibernate各种主键生成策略与配置详解 - 真的很详细啊!!
- 13-day13-str
- 【数据结构与算法】之深入解析“买卖股票的最好时机II”的求解思路与算法示例
- [SDOI2015]序列统计 (NTT)
- oracle 磁盘响应慢,磁盘故障引起的系统变慢定位
- Since WWDC released the first developer
- 在ASP.NET页面中实现数据饼图(转载)
- android出现anr(application not response)的分析
- 多线程java_敞开心扉,一起聊聊Java多线程
- Android 应用快捷方式 ShortcutManager 简单说明
- 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
- java http下载_java http下载文件
- linux内存查看命令
- android smb同步,SMBsync安卓下最好的同步备份工具
- Uniapp微信小程序实现简易生成表单生成器
- 聊天窗口内容滚动到底部的方法scrollTop和scrollIntoView
- 声音大小与振幅的关系_喇叭声音与尺寸大小的关系
- 【论文笔记】多任务学习(Multi-Task Learning)
热门文章
- ng serve出错,关于TypeScript的版本问题
- SAP云平台对Kubernetes的支持
- Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
- idea 一直在build_CEO季度表彰团队| 我们一直在做最酷的事
- htmlselect保留上次选择内容_中药口服液药液性质与过滤器械选择
- c语言程序设计教程岳莉答案,C++程序设计教程
- kibana java_kibana安装
- 基于主成分分析法的综合评价模型及matlab实现
- linux mint 最新版,Linux Mint安装最新版R
- Java中proc是什么意思,在java里头读取/proc/net/dev