MySQL的#1064语法错误创建表

问题描述:

当我有这个表,它工作在SQL Developer中完全正常,但是当我想将其导入到MySQL数据库,这是发生了什么:MySQL的#1064语法错误创建表

CREATE TABLE zem(
ID_zem INTEGER, 
nazov VARCHAR2(30), 
kontinent VARCHAR2(30), 

CONSTRAINT pk_zem PRIMARY KEY (ID_zem) 
); 

#1064 - 你的SQL语法错误;检查对应于你的MySQL服务器版本使用 接近正确的语法手册 'VARCHAR2(30),kontinent VARCHAR2(30),

约束pk_zem PRIMARY KEY(ID_zem' 在行3

+1

请不要标记您没有使用的数据库。我删除了'oracle'标签。 –

+2

那么,不管你使用什么客户端程序,你都不能在MySQL中使用Oracle语法。 –

+0

好吧,有没有什么办法可以用Oracle语法导入我的数据库?或者我需要重写它们? – nocturne

希望这有助于

CREATE TABLE zem(
ID_zem INT, 
nazov VARCHAR(30), 
kontinent VARCHAR(30), 
CONSTRAINT pk_zem PRIMARY KEY (ID_zem) 
); 

变化

VARCHAR2 

VARCHAR 

有在MySQL没有varchar2

How to Create tables in MySql,为整数使用价值像INTEGER(11) - >但不是必需的,MySQL没有数据类型VARCHAR2,仅VARCHAR

CREATE TABLE zem (
ID_zem INTEGER(11) not null, 
nazov VARCHAR(30), 
kontinent VARCHAR(30), 
PRIMARY KEY (ID_zem) 
) ENGINE=INNODB; 
+0

什么是ENGINE = INNODB? – nocturne

+0

存储引擎的MySql DB为您的数据,[存储引擎](http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html) –