sql - 在数据库中创建表时出错

标签 sql oracle syntax-error ddl create-table

我正在使用oracle 10g ex进行学习,所以这是我的代码

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID INT(3) PRIMARY KEY 
);

我的错误是

ORA-00907: missing right parenthesis.



但是我没有错过正确的括号。解决这个问题还有其他机会或我必须知道的事情。

最佳答案

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 
);

关于sql - 在数据库中创建表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37628035/

相关文章:

mysql - 使用 UPDATE JOIN 和数据库参数

sql - 停止 MySQL 重复使用 AUTO_INCREMENT ID

sql - 可以在 Sybase ASE 中使用具有 "TOP 1 column"的相关子查询吗?

sql - 创建一个字段来计算日期范围内一个月内的天数?

SQL 无效的 ALTER TABLE 选项

java - 从 Hibernate\Oracle 得到不正确的结果

syntax-error - 用户定义的软件包RNG中的VHDL语法错误,用于第5行的遗传算法

Java包: What is the difference between `oracle.AQ` and `oracle.jdbc.aq` ?

c - 数组函数只返回第一个元素,我需要整个数组。请帮助

syntax-error - 顶级OCaml双分号错误