在关系数据库中考虑列和行的两个表如下:
null
滚不 | 名称 | 部门id |
---|---|---|
1. | 基础知识 | 1. |
2. | DEF | 1. |
3. | GHI | 2. |
4. | JKL | 3. |
部门id | 部门名称 |
---|---|
1. | A. |
2. | B |
3. | C |
卷号是学生表的主键,部门id是部门表和学生表的主键。Dept_id是Department的外键。部门id 如果我们尝试执行以下两条SQL语句,会发生什么?
- 更新学生集合Dept_id=Null,其中Roll_on=1
- 更新部门设置Dept_id=Null,其中Dept_id=1
(A) (i)和(ii)都会失败 (B) B) (i)将失败,但(ii)将成功 (C) (i) 会成功,但(ii)会失败 (D) (i)和(ii)都会成功 答复: (C) 说明:
- 更新学生设置Dept_id=Null,其中Roll_on=1->这将成功,因为Roll no是主键,我们可以将外键设置为Null
- 更新Department set Dept_id=Null,其中Dept_id=1->As Student table(卷号1和卷号2)引用Dept_id,因此根据引用完整性约束,我们不能删除Dept_id。但是,在例外情况下,如果我们想使用级联删除选项,我们可以克服它。
这个问题的小测验 如果你在上面的帖子中发现任何错误,请在下面发表评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END