在数据库中创建 TABLE 时出错
Posted
技术标签:
【中文标题】在数据库中创建 TABLE 时出错【英文标题】:Error while creating TABLE in database 【发布时间】:2016-10-04 07:49:46 【问题描述】:我正在使用 oracle 10g ex 学习所以这是我的代码
CREATE TABLE MINE
(
NAME VARCHAR(10),
ID INT(3) PRIMARY KEY
);
我的错误是
ORA-00907:缺少右括号。
但我没有错过正确的括号。还有其他机会或我必须知道的事情来解决这个问题。
【问题讨论】:
【参考方案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);
【讨论】:
能否请您 edit 解释为什么这段代码回答了这个问题?纯代码答案是 discouraged,因为它们不教授解决方案。以上是关于在数据库中创建 TABLE 时出错的主要内容,如果未能解决你的问题,请参考以下文章
请问MySQL中创建表哪里出错了? CREATE TABLE emp( empno INT(4) PRIMARY KEY, name VARCHAR(5) NOT NULL,