创建表时default默认值不起作用

create table HOUSEHOLDSTAFFS
(
  ID                  NUMBER(10) not null,
  IDCARDNO            VARCHAR2(60) not null,
  NAME                VARCHAR2(60) not null,
  LOGOUT              NUMBER(1)     default 0 ,
  ……
  constraint PK_HOUSEHOLDSTAFFS_ID primary key (ID),
  constraint FK_CENSUSREGISTER_FAMILYID foreign key (FAMILYID)
);

comment on column HOUSEHOLDSTAFFS.IDCARDNO
  is '身份证号';
comment on column HOUSEHOLDSTAFFS.NAME
  is '姓名';
comment on column HOUSEHOLDSTAFFS.USEDNAME
  is '曾用名';
comment on column HOUSEHOLDSTAFFS.LOGOUT
  is '是否注销 0否 1是';

……

增进去一条数据,不对logOut做任何设置(即添加进去的数据logOut=null),发现default 0 并没有起作用,logOut是null。





将创建表的语句改为如下就ok了

create table HOUSEHOLDSTAFFS
(
  ID                  NUMBER(10) not null,
  IDCARDNO            VARCHAR2(60) not null,
  NAME                VARCHAR2(60) not null,
  LOGOUT    NUMBER(1)  default 0   not null,
  ……
  constraint PK_HOUSEHOLDSTAFFS_ID primary key (ID),
  constraint FK_CENSUSREGISTER_FAMILYID foreign key (FAMILYID)
);
…………

再次添加一条数据,不对logOut做任何设置(即添加进去的数据logOut=null),查询结果,发现logOut会生成默认值0

猜你喜欢

转载自deony2jacob1314.iteye.com/blog/1654873
今日推荐