各位大哥,oracle的default属性语法怎么写
我建表的时候
CREATE TABLE topic(
id number(15) NOT NULL,
parentid number(16) NOT NULL default 0,
forumid number(16) NOT NULL default 0,
username varchar(20),
title varchar(250),
content varchar2(1000),
postdate date ,
replies number(16) NOT NULL default 0
);
老是在default报错:ORA-00907: 缺少右括号
------解决方案--------------------
- SQL code
SQL> CREATE TABLE topic( 2 id number(15) NOT NULL, 3 parentid number(16) default 0 NOT NULL , 4 forumid number(16) default 0 NOT NULL , 5 username varchar(20), 6 title varchar(250), 7 content varchar2(1000), 8 postdate date , 9 replies number(16) default 0 NOT NULL 10 ); Table created.SQL>
------解决方案--------------------
既然都有默认值了,那就没有必要not null了。
- SQL code
CREATE TABLE topic( id number(15) NOT NULL, parentid number(16) default 0, forumid number(16) default 0, username varchar(20), title varchar(250), content varchar2(1000), postdate date , replies number(16) default 0 );
------解决方案--------------------
- SQL code
/--not null和default 0是重复的。 CREATE TABLE topic( id number(15) NOT NULL, parentid number(16) default 0, forumid number(16) default 0, username varchar(20), title varchar(250), content varchar2(1000), postdate date , replies number(16) default 0 );
------解决方案--------------------
楼上大侠们, 默认值和非空约束是两回事吧?
- SQL code
SQL> create table t10( 2 id varchar2(10) default 'notset');Table created.SQL> insert into t10 values('aa');1 row created.SQL> insert into t10 values('bb');1 row created.SQL> commit;Commit complete.SQL> update t10 set id = null where id = 'aa';1 row updated.SQL> select * from t10;ID----------bbSQL> commit;
------解决方案--------------------
那就是1楼的正解,谢谢lpc19598188 提醒。好好学习!