1. 首页 > 其他

外键允许为空吗 外键何时允许为空

数据库的外键何时允许为空?何时不为空?

数据库的外键可以为空,也可以非空,但是如果非空,则这个值必须在主表中存在.比如主表是一个班级,主键是班级id,字表是学生分配班级表,主键是学生id,外键是所在班级id.如果一个学生的外键id为空,说明这个学生还没有被分配到任何一个班级 如果一个学生的外键id非空,并且是班级表中的某个id,则说明学生分配到这个班级 如果一个学生的外键id非空,并且不属于任何班级,则数据插入肯定报错.也就是说这种情况不存在.

外键允许为空吗 外键何时允许为空

除了主键不允许空,其他是不是都可以空?外键能空吗?

外键是可以为空的.因为创建外键的时候, 是有一种 ON DELETE SET NULL 的 可选择的 处理方式.这也就说明了, 那个外键, 是可以为空的, 否则怎么能够允许 ON DELETE SET NULL

外键是否能为空

可以为空 外键可以不设置

在SQL中,为什么外键属性的值可以为空,并举例在什么情况下才可为空?

ORACLE里的外键也允许为空,一般用处不大但也不能说完全没用.举个例子,公司新采购一批电脑,主键为主表.电脑ID,外键为子表.员工ID,如果电脑暂时还没有归属人,员工ID可以默认为NULL

mysql外键可以为空吗 外键可以为空吗

亲测,可以为空的

数据库中,外键什么时候不能为空?

除非字段设为not null

数据库中,如果引用外键的那列允许为空,那么用T - SQL语言插入,能不能不写值和.

引用的外键那一列不能为空如果为空,你设计的数据库表就有问题 一般选一张表的主键作为另一张表的外键

在参照完整性中为什么外键属性的值也可以为空

1.或者取空值 2.或者等于其中某个元组的主键值. 例如:职工(职工号,姓名,性别,部门号,上司,工资,佣金) 部门(部门号,名称,地点) 其中职工号是“职工”关系的主其中职工号是职工关系的主键,部门号是外键,而“部门”关系中部门号是主键,则职工关系中的每个元组的部门号属性只能取下面两类值: 第1类:空值,表示尚未给该职工分配部门; 第2类:非空值,但该值必须是部门关系中某个元组的部门号值,表示该职工不可能分配到一个不存在的部门中,即被参照关系“部门”中一定存在一个元组,它的主键值等于该参照关系“职工”中的外键值.

数据库 外键值何时可以为空

严格说起来,主键和外键都不能为空,外键为空的时候,数据库的参照完整性已经被破坏了

外键不是作为另外一个表的主键吗,为什么还能为空

没有决定性的作用, 那么可以不设置. 一般外键设置在那种 严重依赖的情况下. 例如 对于 学生表, 课程表. 的主键 学号 与 课程号 在成绩表中, 这2列, 必须要在 主表里面有相应的数据. 否则, 出现 不存在的学生, 或者 不存在的课程, 都是一件很折腾得时期. 例如一个 学生日志表 (日志ID, 学号, 姓名, 修改日期) 这种, 不是严重依赖的, 那么可以不设置外键. 否则某个学生修改学号了, 还要去修改以前的全部的历史日志,是不合适的.