oracle 为什么主键不能为空

如题所述

1.唯一键允许为空,空值不受唯一约束,也就是说可以有多个空值。
主键不允许为空,如果主键可以为空,那么就和唯一键相同了。
2.主键约束确保在表中主键值不同的数据唯一,如果主键可以为空,就不能够确保数据的唯一性了,因为空值不受唯一约束限制。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-31
主键的目的是标识它的唯一性,本来是可以为空的,但是如果允许为空的话,就可能存在多条为空的记录,就不能保证它的唯一性,所以从完整性考虑,为了避免这种情况的产生,大家就都这样规定,约定俗成,之后就形成了标准。就是大家商量好了后的结果。
第2个回答  2012-07-30
通俗点说主键就是区分的识别标志,数据库以此来区分数据,所以不能为空
第3个回答  2012-08-10
主键的目的是标识它的唯一性,如果为空,就没法搜索需要的数据了~
第4个回答  2012-07-30
主键也可以说是一条数据的唯一标识, 它要空的话, 那不是相当于有很多相同数据了吗?
相似回答