> 데이터 베이스 > MySQL 튜토리얼 > Oracle 10g中约束与列属性NULLABLE的关系

Oracle 10g中约束与列属性NULLABLE的关系

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 16:08:37
원래의
1070명이 탐색했습니다.

结论: columname type not null与check (columnname is not null)的结果是不一样的 因此: 1、不需要手工去匹配NULLABLE属性,当

结论:

columname type not null与check (columnname is not null)的结果是不一样的

因此:

1、不需要手工去匹配NULLABLE属性,当所有显式导致NULLABLE由Y变N的约束被删除后,NULLABLE自然会恢复为Y。

2、尽量不要使用CHECK来实现NOT NULL,可以使用MODIFY或直接在字段后声明

drop table zwxtest04;
create table zwxtest04
(

 id integer
);
alter table zwxtest04 add constraint zwxtest04c2 check (id is not null);
select * from user_tab_columns where table_name='ZWXTEST04';
select * from user_constraints where table_name='ZWXTEST04';

--NULLABLE 为Y ,约束并不会导致NULLABLE变动

drop table zwxtest04;
create table zwxtest04
(

 id integer not null
);

select * from user_tab_columns where table_name='ZWXTEST04';
select * from user_constraints where table_name='ZWXTEST04';

-- NULLABLE 为N ,同时自动添加一个C型的NOT NULL的约束

drop table zwxtest04;
create table zwxtest04
(

 id integer 

);
alter table zwxtest04 id not nul;
select * from user_tab_columns where table_name='ZWXTEST04';
select * from user_constraints where table_name='ZWXTEST04';

-- NULLABLE 为N ,,同时自动添加一个C型的NOT NULL的约束

drop table zwxtest04;
create table zwxtest04
(

 id integer
);
alter table zwxtest04 add constraint zwxtest04c3 primary key (id  );
select * from user_tab_columns where table_name='ZWXTEST04';
select * from user_constraints where table_name='ZWXTEST04';

-- NULLABLE 为N ,创建P型约束,创建UNIQUE索引

alter table zwxtest04 drop constraint zwxtest04c3 ;

--NULLABLE为Y

本文永久更新链接地址:

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿