2013-05-14 200 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