access数据违反参照完整_access数据库勾选实施参照完整性报错和解决办法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:00   875   0

解决方法是先在有关联的一方表添加相应的记录,然后再于多方表追加或修改对应的记录;又或者只添加或修改为一方表已经存在的关联记录到多方表。当然删除相应的表间关系也可以避免报错,但是这是最糟糕的解决办法,因为这样会破坏数据结构的严整性!

假设学生表和成绩表通过学生ID字段建立了一对多参照完整性关系,如果为成绩表添加一条学生ID为“0100”的成绩记录,而学生表里并不存在“0100”的学生ID,或者修改某条成绩记录的“学生ID”为一个学生表中不存在的“学生ID”;反之若果成绩表里已经存在“学生ID”为“0100”的成绩记录,现在要删除学生表里“学生ID”为“0100”的记录(若未设置级联删除的话),这些都会导致违反外键约束。

access编辑关系时勾选“实施参照完整性”复选框有什么作用?

参照完整性要求表间关系中不允许引用不存在的实体。两张表之间如果实施了参照完整性(也可称之为设置了外键约束),关联表的某一方表中的记录发生新增、更新和删除等操作时,要是这些操作违反了外键约束,系统就会报错并拒绝执行相应操作以保持数据始终处于完整、和谐和正确的状态并可减少冗余。

当我们把2张表建立联系的时候,这2个表肯定是有关系的。它可以是一对一的关系;如果是多对多的关系,这是不允许出现的(说明表及其关系设置有问题);大多数都是一对多的关系,当建立了一对多关系时数据库引擎就自然建立完整性原则,它能保证2个表之间的关系及数据得到正确的维护,从最基本的意义上说,防止“多端”出现不完整的记录。

参照完整性规则要求:1、不允许在“多端”的字段中输入1个“一端”主键不存在的值;2、如果某一记录有相关的记录存在于关系表中,那么数据库引擎不允许从“一端”删除这个记录(除非选择了级联删除相关字段

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP