create table test(id number(10),name varchar2(20) default 'name')
当用下面的SQL语句插入行的时候,会给name列赋默认值.
insert into test(id) values(1)
查询结果为:select * from test
ID NAME 1 name
当用下面的SQL语句插入行的时候,不会给name列赋默认值.insert into test values(2,null)
查询结果发现ID为2的行的name的值为空:select * from test ID NAME 1 name 2 select * from test where name is null 能将ID为2的行查询出来.
同样,在通过JAVA代码用JDBC,一些ORM框架插入数据的时候,也需要注意同样的问题.