2013-05-14 115 views
-1

時出了什麼問題?我跑了DDL對MySQL和它給了一個錯誤#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR2(250) NOT NULL, BIO VARCHAR2(250) NOT NULL, ID NUMBER(10) NOT' at line 2phpMyAdmin的MySQL錯誤1064創建表

這裏是我的DDL:

CREATE TABLE DW.BOOKS( 
BIO VARCHAR2(250) NOT NULL , 
ID NUMBER(10) NOT NULL , 
REVENUE VARCHAR2(20) ,  
PRIMARY KEY (ID) 
); 
+1

http://docs.oracle.com/cd/A97630_01/win.920/a97249/ch3.htm#1026758 – hjpotter92 2013-05-14 13:44:40

回答

1

你感到困惑的Oracle和MySQL。 MySQL不提供或者不VARCHAR2NUMBER

另請參閱this頁在Oracle和MySQL data types differences

CREATE TABLE DW.BOOKS( 
    BIO VARCHAR(250) NOT NULL , 
    ID INT(10) NOT NULL , 
    REVENUE VARCHAR(20) ,  
    PRIMARY KEY (ID) 
); 
2

我不熟悉的 「NUMBER(10)」。試試這個:

CREATE TABLE IF NOT EXISTS `DW.BOOKS` (
    `BIO` varchar(250) NOT NULL, 
    `ID` int(10) NOT NULL, 
    `REVENUE` varchar(20) NOT NULL, 
    PRIMARY KEY (`ID`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
0

您需要閱讀data type overview文檔。有沒有VARCHAR2NUMBER類型在MySQL。

CREATE TABLE BOOKS( 
BIO VARCHAR(250) NOT NULL , 
ID int(10) NOT NULL , 
REVENUE VARCHAR(20) ,  
PRIMARY KEY (ID) 
); 

See a demo