问题是:
撰写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语句不起作用?
答案 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对表进行交叉检查
由于