创建索引时出现问题

时间:2014-04-14 06:18:00

标签: mysql database

问题是:

撰写SQL statement以在index上为属性city table创建CountryCode。将索引命名为CountryCode_idx

所以我的陈述是:

CREATE INDEX city_name_countrycode_idx ON city (name, countrycode);

但问题是,当我尝试使用语句

删除下一个问题中的索引时
DROP INDEX city_name_countrycode_idx; 

我得到一个期待ON的语法错误 然后我尝试发表一个声明:

DROP INDEX city_name_countrycode_idx ON city;

但我的陈述显然影响了0行。有人能告诉我,我的创建索引语句是否正确以及为什么我的drop index语句不起作用?

2 个答案:

答案 0 :(得分:0)

  

DROP INDEX city_name_countrycode_idx;
   我得到语法错误,期待ON ...

根据DROP INDEX Syntax上的文档:

Name: 'DROP INDEX'  
Description:  
Syntax:  
DROP INDEX index_name ON tbl_name  
    [algorithm_option | lock_option] ...  

algorithm_option:  
    ALGORITHM [=] {DEFAULT|INPLACE|COPY}  

lock_option:  
    LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}  

DROP INDEX从表index_name中删除名为tbl_name的索引。

结论

因此,要删除索引,必须使用创建索引的表名。

要删除索引city_name_countrycode_idx,必须使用创建所述索引的表名city

DROP INDEX city_name_countrycode_idx ON city;

答案 1 :(得分:0)

受影响的0行表示数据没有变化。虽然索引被删除了。 您可以在删除索引之前和之后通过desc对表进行交叉检查

由于