即使我检查语法错误,创建表仍失败

时间:2019-02-27 19:41:55

标签: mysql sql database

因此,在我向SQL入门时,我只是为了练习而创建了一个假表。我查阅了他们网站上的MySQL参考指南,以获取有关VARCHARNUMBER的更多信息。

当我尝试create table时,收到一条错误消息Error Code: 1064.,我知道我检查了语法并确保查找缺少的逗号或拼写错误,但一切都正确。我不知道为什么我不能创建表格!这开始使我烦恼了!

CREATE TABLE SALES_REP
(REP_NUM CHAR(2) PRIMARY KEY,
 LAST_NAME VARCHAR(15),
 FIRST_NAME CHAR(15),
 CITY CHAR(15),
 STATE CHAR(2),
 POSTAL_CODE CHAR(5),
 COMMISSION NUMBER(7,2),
 RATE NUMBER(3,2) );

输出

You have an error in your SQL syntax; check the manual that corresponds
'NUMBER(7,2),
RATE NUMBER(3,2) )' at line 8

1 个答案:

答案 0 :(得分:1)

NUMBER不是MySQL数据类型。您打算NUMERIC

CREATE TABLE SALES_REP (
 REP_NUM CHAR(2) PRIMARY KEY,
 LAST_NAME VARCHAR(15),
 FIRST_NAME CHAR(15),
 CITY CHAR(15),
 STATE CHAR(2),
 POSTAL_CODE CHAR(5),
 COMMISSION numeric(7,2),
 RATE numeric(3,2)
);

Here是db <>小提琴。之所以会引起混乱,是因为NUMBER 是Oracle数据类型。 Oracle是一家拥有多个数据库的公司,其中包括一个名为Oracle的数据库和一个名为MySQL的数据库。