SQL Server主键约束怎么创建

SQL Server主键约束怎么创建

SQL Server PRIMARY KEY(主键)约束简介

主键是少数标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。
如果主键仅包含一列,你可以使用PRIMARY KEY约束作为列约束:

CREATE TABLE table_name (    pk_column data_type PRIMARY KEY,    ...);

如果主键有两列或多列,则必须将主键约束用作表约束:

CREATE TABLE table_name (    pk_column_1 data_type,    pk_column_2 data type,    ...    PRIMARY KEY (pk_column_1, pk_column_2));

每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL。如果未为所有主键列指定NOT NULL约束,SQL Server会自动为这些列设置非空约束。

SQL Server PRIMARY KEY约束示例

以下示例创建了一个具有主键的表,主键由一列组成:

CREATE TABLE dbo.activities (    activity_id INT PRIMARY KEY IDENTITY,--主键    activity_name VARCHAR (255) NOT NULL,    activity_date DATE NOT NULL);

在表dbo.activities中,activity_id列是主键列,意味着这一列的值不能重复

IDENTITY属性用于activity_id列自动生成少数的整数值。

下面创建一个由两列组成外键的新表:

CREATE TABLE dbo.participants(    activity_id int,    customer_id int,    PRIMARY KEY(activity_id, customer_id));

在本例中,activity_idcustomer_id列中的值可以重复,但两列中的每个值组合都必须是少数的。

通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。比如示例:

先创建一个没有主键列的表:

CREATE TABLE dbo.events(    event_id INT NOT NULL,    event_name VARCHAR(255),    start_date DATE NOT NULL,    duration DEC(5,2));

然后使event_id列成为主键:

ALTER TABLE sales.events ADD PRIMARY KEY(event_id);

注意,如果 sales.events 表已经有数据,在将 event_id 列提升为主键之前,必须确保 event_id 中的值是不重复的。

以上就是关于“SQL Server主键约束怎么创建”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

文章标题:SQL Server主键约束怎么创建,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/23985

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月8日
下一篇 2022年9月8日

相关推荐

  • MyBatisPlus QueryWrapper多条件查询及修改方法是什么

    gt、ge、lt、le、isNull、isNotNull 大于 > 例: gt(“age”, 18) → age > 18 ge 大于等于 >= 例: ge(“age”, 18) → age &gt…

    2022年9月21日
    99200
  • dch驱动指的是什么

    dch驱动是“声明性组件化硬件支持的应用程序”的意思;dch是“Declarative Componentized Hardware supported apps”的缩写,该驱动程序则是在基于通用UWP的Windows10版本上安装和运行的驱动程序包。 本教程操作环境:windows10系统、DEL…

    2022年9月13日
    49700
  • 如何进行crawlergo、rad、burpsuite和awvs爬虫的对比

    前言 最近在写代码,涉及了web爬取链接的方面,在百度过程中了解到了这篇文章:superSpider,突然就好奇平时常见的爬虫 工具和扫描器里的爬虫模块能力如何,所以来测试下。 主要测试1个自己手写的瞎眼爬虫,还有crawlergo、rad、burpsuite pro v202012、awvs 20…

    2022年9月26日
    45400
  • 电脑黑白打印机打印图片底色黑如何解决

    解决方法 方法一: 1、首先在“Photoshop”中打开想要打印的图片。 2、打开后,点击左上角“图像”,选择“自动色调” 3、软件会自动为你调整背景色,如果还是觉得黑,可以继续调节。 4、继续点击“图像”,打开“调整”下的“色阶”选项。 5、打开后,按住图示位置的滑块,向左滑动。(根据预览情况自…

    2022年9月24日
    52700
  • edxposed框架+trustmealredy模块如何实现抓包小程序

    一、下载edxposed框架,由于安卓5.0版本以下的不支持老版本的框架,所以到如下链接下载 https://forum.xda-developers.com/showthread.php?t=3034811 直接点击下载 二、下载trustmealredy https://repo.xposed….

    2022年9月8日
    64400
  • windows xbox商店常见问题怎么解决

    xbox商店常见问题解决方法: 1、Xbox商店其实就是微软win10商店(Microsoft Store)。 2、我们可以直接在菜单中打开Microsoft Store,进行游戏的查看等。 3、我们也可以直接在搜索栏中搜索Xbox,然后打开“Xbox 控制台小帮手” 4、我们能够在侧栏目中点击“商…

    2022年9月22日
    24700
  • Javascript怎样实现数组去重

    数组去重 1、from()叠加new Set()方法 字符串或数值型数组的去重可以直接使用from方法。 var plants = [‘Saturn’, ‘Earth’, ‘Uranus’, ‘Mercury’, ‘Venus’, ‘Earth’, ‘Mars’, ‘Jupiter’];var un…

    2022年8月31日
    12600
  • word字体放大后重叠如何解决

    解决方法 1、首先我们按住键盘上的Ctrl+A,全选文档。 然后点击开始界面的字体。 2、点击字体的选择“高级”,将字符间距设置为加宽,磅值设置为2磅或以上。 3、如果上述方法还没有解决的话,我们还是按照名列前茅步的方法打开字体。 在字体设置上,将中文字体设置成+中文正文,西文字体设置成+西文正文。…

    2022年9月10日
    17900
  • windows安装不了qq游戏如何解决

    qq游戏安装不了解决方法: 方法一: 1、首先确认我们电脑里之前有没有安装过qq游戏。 2、如果之前安装过,需要先将之前的qq游戏给卸载。 3、如果没有安装过,可能是下载的安装包有问题。 4、我们可以去官网下载或者点击右边链接重新下载安装。 5、如果我们正在使用360等安全软件的话,尝试将这些软件都…

    2022年8月29日
    33900
  • 如何进行XiaoBa勒索病毒变种分析

    概述 XiaoBa勒索病毒,是一种新型电脑病毒,是一款国产化水平极高的勒索病毒,主要以邮件,程序木马,网页挂马的形式进行传播。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。倒计时200秒还不缴赎金,被加密的文件就会被全部销毁。 以上说明摘自百度百科,但…

    2022年9月21日
    17800
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部