可能有什么不对?我针对MySQL运行了一个DDL,它给出了一个错误#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 2
这是我的DDL:
CREATE TABLE DW.BOOKS(
BIO VARCHAR2( 250 ) NOT NULL ,
ID NUMBER( 10 ) NOT NULL ,
REVENUE VARCHAR2( 20 ) ,
PRIMARY KEY ( ID )
);
答案 0 :(得分: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;
答案 1 :(得分:1)
你混淆了oracle和MySQL。 MySQL不提供VARCHAR2
而不是NUMBER
。
另请参阅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 :(得分:0)
您需要阅读data type overview文档。 MySQL中没有VARCHAR2
或NUMBER
类型。
CREATE TABLE BOOKS(
BIO VARCHAR( 250 ) NOT NULL ,
ID int( 10 ) NOT NULL ,
REVENUE VARCHAR( 20 ) ,
PRIMARY KEY ( ID )
);