使用Oracle建表出现缺少右括号错误
原因+解决
not null
在default
之前
create table test
(
stuno int not null default 888888 ,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
解决 调换顺序
create table test
(
stuno int default 888888 not null ,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
- SQL语句中加注释
create table test
(
stuno int default 888888 COMMENT '用户编号' not null ,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
解决
Oracle建表语句不允许在内部直接添加注释comment
你可以这样添加,建表语句外追加,先创表 在执行
create table test
(
stuno int default 888888 not null,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
COMMENT on column test.stuno is '用户编号';
…
- 内部有注释
这个我不太确定一定会发生
create table test --表名不能使用关键字
(
stuno int default 888888 not null ,
stuname varchar2(20),
sex char(10),
age number(3,0),--第一个参数表示:总长度;第二个参数:表示小数部分的长度
birthday date,
email varchar2(50),
phone char(11)
);
COMMENT on column test.stuno is '用户编号' ;
解决
删除你的注释
create table test
(
stuno int default 888888 not null,
stuname varchar2(20),
sex char(10),
age number(3,0),
birthday date,
email varchar2(50),
phone char(11)
);
COMMENT on column test.stuno is '用户编号' ;
- SQL写错
create table BBSSECTION
(
sid int not null ,
SNAME varchar2(32) not null ,
SMASTERID int not null ,
SSTATEMENT varchar2(255) null ,
SCLICKCOUNT int null ,
STOPICCOUNT int null
FOREIGN KEY (SMASTERID)
);
解决
删除错误SQLFOREIGN KEY (SMASTERID)
create table BBSSECTION
(
sid int not null ,
SNAME varchar2(32) not null ,
SMASTERID int not null ,
SSTATEMENT varchar2(255) null ,
SCLICKCOUNT int null ,
STOPICCOUNT int null
);
添加外键的正确方式是
alter table student add constraint pk_student_stuno primary key(stuno);
Alter table stuinfo add constraint fk_stuno foreign key(stuno) references student(stuno);
总结四条,以后有了再添加
祝你幸福
送你一首歌《What Are Words》Chris Medina
附图:棒旋星系NGC 北京天文馆镜像