无法删除列命名条件

时间:2016-02-19 04:22:07

标签: mysql

我的一个表中有一个名为condition VARCHAR(255)的列。我想从表中删除列,似乎它不起作用。 我试过了

alter table vehicle_new_full drop column condition;

它给了我这个错误。

 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 'condition hello varchar(255)' at line 1

尝试更改列名也不起作用。我能够从表中删除其他列而不是这一列,这也没有任何约束。有什么想法吗?

表格结构

+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| styleId          | bigint(11)   | YES  |     | NULL    |       |
| year             | int(11)      | YES  |     | NULL    |       |
| make             | varchar(255) | YES  |     | NULL    |       |
| model            | varchar(255) | YES  |     | NULL    |       |
| trim             | varchar(255) | YES  |     | NULL    |       |
| condition        | varchar(255) | YES  |     | NULL    |       |
| vehicleStyle     | varchar(255) | YES  |     | NULL    |       |
| engineCylinder   | int(11)      | YES  |     | NULL    |       |
| engineFuelType   | varchar(255) | YES  |     | NULL    |       |
| drivenWheels     | varchar(255) | YES  |     | NULL    |       |
| transmissionType | varchar(255) | YES  |     | NULL    |       |
| numberOfDoors    | int(11)      | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+

3 个答案:

答案 0 :(得分:1)

试试这个:

alter table vehicle_new_full drop column `condition`;

CONDITION是mysql的保留关键字。

参考: http://dev.mysql.com/doc/refman/5.7/en/keywords.html

答案 1 :(得分:1)

您的SQL ALTER TABLE命令看起来与MySQL收到的不同。你说你放弃condition字段,但MySQl报告了syntax to use near 'condition hello varchar(255)'。也许您的代码中有一部分意外地将此hello varchar(255)行添加到您的SQL中。查看您的查询日志以便更好地理解。

答案 2 :(得分:0)

最好不要在将列名称声明为名称本身“保留”时使用任何mysql保留字。

如果您仍想使用条件1,条件等保留字,请添加其他字符。