-2

我正在将数据库从 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 的新手。提前致谢!

4

1 回答 1

2

甲骨文!= 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)
 );
于 2018-04-18T19:23:14.757 回答