【发布时间】:2019-04-28 12:41:08
【问题描述】:
我正在尝试在命令行中使用 MySQL 在 Ubuntu 中创建一个数据库,我需要创建一个包含以下数据的表:
CREATE TABLE Vehicles (
Vehicle_ID int NOT NULL,
Vehicle_Type VARCHAR(255) NOT NULL,
Model_name VARCHAR(255) NOT NULL,
Engine_Size float(1,1) NOT NULL,
Condition VARCHAR(255) NOT NULL,
Price float(9,2) NOT NULL,
PRIMARY KEY (Vehicle_ID)
);
它只返回一个错误,上面写着“ERROR 1064 (42000): You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'Condition varchar(255) NOT 附近使用的正确语法空值, 价格浮动(9,2)不为空, 主键(第 6 行的车辆'
我的代码有什么问题? “Price”和“Engine_Size”列只能是浮点/十进制值,因此它们不能是 varchar,因为我只想能够插入数字。
【问题讨论】:
-
CONDITION是reseved word。 -
Condition是MySQL reserved word,必须用反引号括起来才能用作列名。 -
@HarryStanford 无关,但您确实需要将这些更改为
DECIMAL列。FLOAT和DOUBLE应该很少使用,并且只能通过慎重选择使用。