一尘不染

我们是否需要为主键指定“ ot null”?Oracle / SQL

sql

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,
...

阅读 162

收藏
2021-03-17

共1个答案

一尘不染

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。

2021-03-17