加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我们需要为主键指定“not null”吗? Oracle/SQL

发布时间:2020-12-12 13:53:30 所属栏目:百科 来源:网络整理
导读:CREATE TABLE Person( PersonId NUM(20),... )ALTER TABLE PersonADD(CONSTRAINT personpk PRIMARY KEY(PersonId)) 作为标题,我需要为PersonId指定“not null”吗?或者如果我将其设置为主键,默认情况下它将自动为null? e.g: CREATE TABLE Person(PersonI
CREATE TABLE Person(
    PersonId NUM(20),...
    )

ALTER TABLE Person
ADD(CONSTRAINT personpk PRIMARY KEY(PersonId))

作为标题,我需要为PersonId指定“not null”吗?或者如果我将其设置为主键,默认情况下它将自动为null?

e.g: 
CREATE TABLE Person(
PersonId NUM(20) NOT NULL,...
create table mytable (
  col1 number primary key,col2 number,col3 number not null
);

table MYTABLE created.

select table_name,column_name,nullable 
from user_tab_cols where table_name = 'MYTABLE';

TABLE_NAME                     COLUMN_NAME                    NULLABLE
------------------------------ ------------------------------ --------
MYTABLE                        COL1                           N        
MYTABLE                        COL2                           Y        
MYTABLE                        COL3                           N

所以,不,您不需要将主键列指定为NOT NULL。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读