【问题标题】:ORA-00922: missing or invalid option when creating tableORA-00922: 创建表时选项缺失或无效
【发布时间】:2018-10-13 21:43:25
【问题描述】:
create table Consulting Project(
             ID           varchar(4) not null,
             Name         varchar(5) not null,
             Gender       varchar(1) not null,
             Job_Title    varchar(15) not null,
             Contribution number(1,0) not null
)

得到了

ORA-00922:缺少或无效选项

【问题讨论】:

  • 您只需在 name 前后加上单引号即可。您的问题已解决
  • @ManishSingh 好方法,但双引号为"Consulting Project"
  • 但是空格不是个好习惯,你应该使用_(下划线)。

标签: sql oracle


【解决方案1】:

一些笔记。我建议:

create table ConsultingProject(
         ID           varchar2(4) primary key,
         Name         varchar2(5) not null,
         Gender       varchar2(1) not null,
         Job_Title    varchar2(15) not null,
         Contribution number(1,0) not null
);

注意事项:

  • 您的问题是表名中的空格。一个字就行了
  • Oracle 建议使用 varchar2 而不是 varchar
  • 为表声明主键是个好主意。
  • number 不需要比例和精度。也许你只想要char(1)

【讨论】:

    【解决方案2】:

    那是因为表名中有空格。 你可以改成

    create table Consulting_Project(
                 ID           varchar(4) not null,
                 Name         varchar(5) not null,
                 Gender       varchar(1) not null,
                 Job_Title    varchar(15) not null,
                 Contribution number(1,0) not null
    )
    

    create table "Consulting Project"(
                 ID           varchar(4) not null,
                 Name         varchar(5) not null,
                 Gender       varchar(1) not null,
                 Job_Title    varchar(15) not null,
                 Contribution number(1,0) not null
    )
    

    除此之外,创建一个没有Primay Key 的表是个坏主意,因为每个表都应该有一个Primary Key

    为什么?

    嗯,答案是here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-14
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多