日期:2014-05-17  浏览次数:21098 次

default关键字
代码如下

crate table book(
status char(1) default 1 not null);

那个default到底是设置什么的

如果说是status字段的默认值说不过去啊

因为insert 时 会抱not is null错误


如果是说不管插入任何值  status字段都为1的话也说不过去

我插入了一个负数后 查看表 并不是1


这个关键字到底是设置啥的

------解决方案--------------------
DEFAULT设置默认值,当你没有用具体值填充时,则用默认值填充;指定具体值时,则插入具体值

SQL> create table t(id int,dd int default 1 not null);

表已创建。

SQL> insert into t(id) values(1);

已创建 1 行。

SQL> insert into t select 2,-1 from dual;

已创建 1 行。

SQL> select * from t;

        ID         DD
---------- ----------
         1          1
         2         -1
------解决方案--------------------
create table book(
status char(1) default 1 not null,
kk number);

insert into book(kk) values(2);
select * from book;

------解决方案--------------------
看看这个,或许你会理解一点儿
create table tt(id int,dd int default 1);
insert into tt values(2,null);
insert into tt(id) values(2);
select * from tt;