【问题标题】:Error while creating TABLE in database在数据库中创建 TABLE 时出错
【发布时间】:2016-10-04 07:49:46
【问题描述】:
我正在使用 oracle 10g ex 学习所以这是我的代码
CREATE TABLE MINE
(
NAME VARCHAR(10),
ID INT(3) PRIMARY KEY
);
我的错误是
ORA-00907:缺少右括号。
但我没有错过正确的括号。还有其他机会或我必须知道的事情来解决这个问题。
【问题讨论】:
标签:
sql
oracle
syntax-error
ddl
create-table
【解决方案1】:
INT 不需要大小 - 它是 NUMBER(38) 的别名。
CREATE TABLE MINE
(
NAME VARCHAR(10),
ID INT PRIMARY KEY
);
但是,您可能想要使用 VARCHAR2 和 NUMBER 类型:
CREATE TABLE MINE
(
NAME VARCHAR2(10),
ID NUMBER(3,0) PRIMARY KEY
);
现在是养成好习惯的时候了——你可能还想为你的约束命名:
CREATE TABLE MINE
(
NAME VARCHAR2(10),
ID NUMBER(3,0) CONSTRAINT mine__id__pk PRIMARY KEY
);
【解决方案2】:
int 数据类型不接受大小参数:
CREATE TABLE MINE
(
NAME VARCHAR(10),
ID INT PRIMARY KEY -- Here!
);
【解决方案3】:
创建表 Mine(name varchar(10),Id number(20) PRIMARY KEY);