mysql外键约束案例_SQLServer FOREIGN KEY外键约束讲解及使用实例

FOREIGN KEY约束添加规则

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

2、如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用列中存在;否则,将返回违反外键约束的错误信息。 若要确保验证了组合外键约束的所有值,请对所有参与列指定 NOT NULL。

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

4、FOREIGN KEY 约束可引用同一表中的其他列。 此行为称为自引用。

5、在列级指定的 FOREIGN KEY 约束只能列出一个引用列。 此列的数据类型必须与定义约束的列的数据类型相同。

6、在表级指定的 FOREIGN KEY 约束所具有的引用列数目必须与约束列列表中的列数相同。 每个引用列的数据类型也必须与列表中相应列的数据类型相同。

7、对于表可包含的引用其他表的 FOREIGN KEY 约束的数目或其他表所拥有的引用特定表的 FOREIGN KEY 约束的数目, 数据库引擎 都没有预定义的限制。 尽管如此,可使用的 FOREIGN KEY 约束的实际数目还是受硬件配置以及数据库和应用程序设计的限制。 表最多可以将 253 个其他表和列作为外键引用(传出引用)。 SQL Server 2016 (13.x) 将可在单独的表中引用的其他表和列(传入引用)的数量限制从 253 提高至 10,000。 (兼容性级别至少必须为 130。)数量限制的提高带来了下列约束:

DELETE 和 UPDATE DML 操作支持大于 253 个外键引用。 不支持 MERGE 操作。

对自身进行外键引用的表仍只能进行 253 个外键引用。

列存储索引、内存优化表和 Stretch Database 暂不支持进行超过 253 个外键引用。

8、对于临时表不强制 FOREIGN KEY 约束。

9、如果在 CLR 用户定义类型的列上定义外键,则该类型的实现必须支持二进制排序。

10、仅当 FOREIGN KEY 约束引用的主键也定义为类型 varchar(max) 时,才能在此约束中使用类型为varchar(max) 的列。

使用SSMS数据库管理工具添加外键约束

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

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

5b7f859368ddffa70d90f93b24480d1c.png

2、在表设计窗口-》选择要添加外键的数据行-》右键点击-》选择关系。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值