-1

有什么问题?我对 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 )
);
4

3 回答 3

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;
于 2013-05-14T13:42:22.447 回答
1

你混淆了oracle和MySQL。MySQL 不提供VARCHAR2not NUMBER

有关Oracle 和 MySQL 中的数据类型差异,另请参阅页面。

CREATE TABLE DW.BOOKS(    
    BIO VARCHAR(250) NOT NULL ,
    ID INT(10) NOT NULL ,
    REVENUE VARCHAR(20) ,       
    PRIMARY KEY (ID)
);
于 2013-05-14T13:47:07.390 回答
0

您需要阅读数据类型概述文档。MySQL中没有VARCHAR2NUMBER类型。

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

查看演示

于 2013-05-14T13:46:07.970 回答