【问题标题】:Oracle SQL: Missing right parenthesisOracle SQL:缺少右括号
【发布时间】:2018-09-29 03:44:38
【问题描述】:

我正在将数据库从 mySQL 迁移到 Oracle SQL,但在创建表时出现“ORA-00907:缺少右括号”错误。我已经尝试了所有我能想到的方法,但仍然出现同样的错误。

创建表语句:

CREATE TABLE menu
(id int(11) NOT NULL AUTO_INCREMENT,
restaurant_id varchar(30) DEFAULT NULL,
menu_name varchar(30) DEFAULT NULL,
menu_description varchar(500) DEFAULT NULL,
menu_price varchar(30) DEFAULT NULL,
quantity int(11) DEFAULT '1',
PRIMARY KEY (id))

我认为问题出在 PRIMARY KEY 上,因为它是我得到错误的唯一带有 PRIMARY KEY 的表。抱歉,如果这是一个明显的问题,我是 Oracle SQL 的新手。提前致谢!

【问题讨论】:

  • 您标记了 SQLDev。您是否正在使用 SQLDev 的迁移项目将您的 MySQL 内容迁移到 Oracle 中?它会为你转换你的表格。

标签: oracle ddl create-table ora-00907


【解决方案1】:

甲骨文!= MySQL:

CREATE TABLE menu
(  id number(11,0)  GENERATED AS IDENTITY,    --IDENTITY <=> AUTO_INCREMENT
   restaurant_id varchar2(30) DEFAULT NULL,   --VARCHAR2 instead of VARCHAR
   menu_name varchar2(30) DEFAULT NULL,
   menu_description varchar2(500) DEFAULT NULL,
   menu_price varchar2(30) DEFAULT NULL,
   quantity number(11,0) DEFAULT '1',         --NUMBER(11,0) instead of INT(11)
  PRIMARY KEY (id)
 );

【讨论】:

  • 就是这样!感谢您的出色回答。
  • 你也可以说INTEGER。
猜你喜欢
  • 1970-01-01
  • 2017-03-11
  • 1970-01-01
  • 2021-11-10
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多