从表

时间:2015-05-26 23:22:11

标签: mysql sql indexing

我想从“Regions”表中删除2个字段“title”和“cycle”的索引

这是我的表格及其中的字段的结构

SHOW COLUMNS from Regions
 +------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id         | int(10)      | NO   | MUL | 0       |       |
| first      | int(10)      | NO   | MUL | 0       |       |
| last       | int(10)      | NO   | MUL | 0       |       |
| title      | varchar(200) | YES  | MUL | NULL    |       |
| cycle      | varchar(45)  | NO   | MUL | NULL    |       |
+------------+--------------+------+-----+---------+-------+

我想从字段“title”和“cycle”中删除索引

我试过了:

DROP index  cycle  ON Regions

我也尝试过:

ALTER TABLE Regions drop index cycle

但它没有用

有人可以提出建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

索引的名称是什么?如果它们与字段名称相同,则应该有效...

DROP INDEX `title` ON Regions;

或者这......

ALTER TABLE `Regions` DROP INDEX `title`;

答案 1 :(得分:0)

你的语法实际上是正确的。 DROP INDEX会从列中删除索引。

但是,您必须使用索引的名称,而不是列的名称。您使用的名称cycle实际上是列名称。要查找索引的名称,请使用SHOW INDEX命令:

SHOW INDEX FROM Regions

找出索引名称后,可以将其删除:

DROP INDEX name_of_your_index FROM Regions