2016-11-23 161 views
1

當我有這個表,它工作在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

回答

1

希望這有助於

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

變化

VARCHAR2 

VARCHAR 

有在MySQL沒有varchar2

3

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