Sqlserver 高级基础 约束整理 上一篇

主外键约束

主外键约束 的目的 我感觉最有用的还是 级联删除

主键删除了  子键所有数据都被删除

设置

俩个表 一个TJ表  一个TS表 TS 为主表 里面存人物信息 TJ存分数信息 主键设置 不在阐述 在我上面博客里有

右击子表的关联ID  点击关系

还是 新增 改名 点击表与列规范

选择主键 ID 和外键对应的键  一定要保证 俩个数据类型一致

关系 选择 级联 这样删除的时候可以一起删除 一会会有效果

设置完后 我们左侧 TJ 就会有 一个外键

现在俩个标的关系已经建立 如果成绩表 我们录入一个不存在ID 就录入不进去

现在表里只有一个ID为1 的张三 我们录入一个STID为2 在成绩表里

不要管字段 都是我瞎写的   看值 没进去 把~ 我们改成1 就可以了

现在我们 删除掉主表里的ID为1的值 看一下 子表的数据

看一下 我并没有写删除TJ的数据 但是也被删除了

在sqlserver 中 还有一个很便利的增加主外键的方式

这就是 数据库关系图 和做E-R一样

这里可以很方便的对 主外键进行绑定 删除 调整

当然 怎么在代码里创建 可以右击我们刚才创建好的子健 看来代码

USE [testDB62]
GO

ALTER TABLE [dbo].[TJ]  WITH CHECK ADD  CONSTRAINT [FK_TJ_TS] FOREIGN KEY([TSID])
REFERENCES [dbo].[TS] ([ID])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[TJ] CHECK CONSTRAINT [FK_TJ_TS]
GO


到这里 结束 ~

更多推荐

Sqlserver 主外键约束