SQLServer之FOREIGN KEY约束

FOREIGN KEY约束添加规则

一、外键约束并不仅可以与另一表的主键约束相链接,它仍能定义为引用另八个表中
UNIQUE 约束的列。

贰、假使在 FOREIGN
KEY 约束的列中输入非 NULL
值,则此值必须在被引用列中设有;不然,将重回违反外键约束的错误消息。 若要保障验证了组合外键约束的装有值,请对全数参加列钦点NOT NULL。

三、FOREIGN KEY
约束仅能引用位于同一服务器上的一样数据库中的表。 跨数据库的引用完整性必须经过触发器完成。

四、FOREIGN KEY
约束可援引同一表中的别的列。 此行为称作自引用。

伍、在列级钦命的
FOREIGN KEY 约束只好列出四个引用列。 此列的数据类型必须与概念约束的列的数据类型相同。

陆、在表级钦赐的
FOREIGN KEY 约束所具备的引用列数目必须与约束列列表中的列数相同。 每一个引用列的数据类型也非得与列表中相应列的数据类型相同。

7、对于表可包涵的引用别的表的 FOREIGN KEY
约束的数额或别的表所拥有的引用特定表的 FOREIGN KEY 约束的多少, 数据库引擎 都尚未预定义的范围。 就算如此,可接纳的 FOREIGN KEY
约束的实在多少如故受硬件配备以及数据库和应用程序设计的限制。 表最多能够将 二伍三个别的表和列作为外键引用(传出引用)。 SQL
Server 201陆 (壹三.x) 将可在独立的表中引用的任何表和列(传入引用)的数额限制从
25叁 提升至 十,000。 (包容性级别至少必须为
130。)数量限制的滋长带来了下列约束:

DELETE 和 UPDATE
DML 操作援助胜出 二五3 个外键引用。 不协助MELacrosseGE 操作。

对自家举行外键引用的表仍只可以进展 2五2个外键引用。

列存款和储蓄索引、内部存款和储蓄器优化表和 Stretch Database
暂不扶助开始展览当先 二伍三 个外键引用。

八、对于一时表不强制 FOREIGN KEY 约束。

9、若是在 CLBMWX伍用户定义类型的列上定义外键,则该项指标贯彻必须协助2进制排序。

拾、仅当 FOREIGN
KEY
约束引用的主键也定义为项目 varchar(max) 时,才能在此约束中选取项目为varchar(max) 的列。

DEFAULT约束添加规则

1、若在表中定义了暗中认可值约束,用户在插入新的数额行时,如若该行未有点名数量,那么系统将暗中认可值赋给该列,即使大家不安装暗中认可值,系统默许为NULL。

二、假若“默许值”字段中的项替换绑定的暗许值(以不带圆括号的样式展现),则将唤起您解除对暗中认可值的绑定,并将其替换为新的暗中认可值。

3、若要输入文本字符串,请用单引号 (‘)
将值括起来;不要使用双引号
(“),因为双引号已封存用于带引号的标识符。

肆、若要输入数值私下认可值,请输入数值并且永不用引号将值括起来。

5、若要输入对象/函数,请输入对象/函数的名号并且不要用引号将名称括起来。

采取SSMS数据库管理工科具添加外键约束

本示例演示当表结构已存在时添加外键约束,创造表时添加外键约束步骤和表结构存在时添加外键步骤一样。示例演示如下:

一、连接数据库,打开要添加外键的数码表-》右键点击-》选择设计。

图片 1

二、在表设计窗口-》选取要添加外键的数据行-》右键点击-》采取涉及。

图片 2

三、在外键关系窗口中-》点击添加。

图片 3

肆、添加完成后-》首先修改表和列规范。

图片 4

伍、在表和列窗口中-》输入外键名-》在左侧选用主表和关联的列-》在右手接纳从表和当作外键的列-》点击鲜明。

图片 5

陆、在外键关系窗口中-》可挑选丰硕恐怕不添加外键描述-》可选拔丰裕或许不添加修改也许去除数据时级联操作-》可挑选丰盛或许不添坚实制外键约束-》可选择充分恐怕不添抓实制用于复制-》点击关闭。

图片 6

七、点击保存按钮(ctrl+s)-》此时表会弹出警告窗口,点击是-》刷新查看外键是或不是丰硕成功。

图片 7

图片 8

采取SSMS数据库管理工科具添加DEFAULT约束

1、连接数据库,选择数据表-》右键点击-》选拔设计。

图片 9

二、在表设计窗口中-》接纳数据列-》在列属性窗口中找到私下认可值或绑定-》输入默许值(注意暗中同意值的数据类型和输入格式)。

图片 10

三、点击保存按钮(恐怕ctrl+s)-》刷新表-》再一次打开表查看结果。

图片 11

应用T-SQL脚本添加外键约束

选拔T-SQL脚本添加DEFAULT约束

网站地图xml地图