我的一个表中有一个名为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 | |
+------------------+--------------+------+-----+---------+-------+
答案 0 :(得分:1)
试试这个:
alter table vehicle_new_full drop column `condition`;
CONDITION是mysql的保留关键字。
答案 1 :(得分:1)
您的SQL ALTER TABLE命令看起来与MySQL收到的不同。你说你放弃condition
字段,但MySQl报告了syntax to use near 'condition hello varchar(255)'
。也许您的代码中有一部分意外地将此hello varchar(255)
行添加到您的SQL中。查看您的查询日志以便更好地理解。
答案 2 :(得分:0)
最好不要在将列名称声明为名称本身“保留”时使用任何mysql保留字。
如果您仍想使用条件1,条件等保留字,请添加其他字符。