Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建索引时遇到的问题_Mysql_Database - Fatal编程技术网

Mysql 创建索引时遇到的问题

Mysql 创建索引时遇到的问题,mysql,database,Mysql,Database,问题是: 编写SQL语句,在city表上为属性CountryCode创建一个索引。命名索引CountryCode\u idx 因此,我的声明是: CREATE INDEX city_name_countrycode_idx ON city (name, countrycode); 但问题是,当我试图在下一个问题中使用语句删除索引时 DROP INDEX city_name_countrycode_idx; 我收到一个语法错误,期望在 然后我试着做一个声明,叫做: DROP INDEX ci

问题是:

编写
SQL语句
,在
city表
上为属性
CountryCode
创建一个
索引。命名索引
CountryCode\u idx

因此,我的声明是:

CREATE INDEX city_name_countrycode_idx ON city (name, countrycode);
但问题是,当我试图在下一个问题中使用语句删除索引时

DROP INDEX city_name_countrycode_idx; 
我收到一个语法错误,期望在 然后我试着做一个声明,叫做:

DROP INDEX city_name_countrycode_idx ON city;
但我的声明显然影响了0行。有人能告诉我CREATEINDEX语句是否正确,以及为什么drop index语句不起作用吗

DROP INDEX city\u name\u countrycode\u idx
我在
上遇到一个语法错误

根据以下文件:

DROP INDEX
从表
tbl\u name
中删除名为
INDEX\u name
的索引

结论

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

要删除索引
city\u name\u countrycode\u idx
,必须使用创建所述索引的表名
city

DROP INDEX city_name_countrycode_idx ON city;

受影响的0行表示数据没有更改。尽管索引已被删除。 您可以在删除索引之前和之后通过描述表进行交叉检查


谢谢

您的第二次
删除
语法很好。若要检查结构是否已更改,可以执行
显示创建表城市
以查看该表是否存在,如果该表中没有数据,则删除索引将返回0行受影响的行。用户在查询中使用表名city:删除城市索引city\u name\u countrycode\u idx ON city@AmanAggarwal:我知道索引名是
city\u name\u countrycode\u idx
,表名是
city
。我已经展示了一个关于语法应该如何使用的示例。我的答案在他的索引中也包含了一个解决方案。没有得到解决方案。这就是解决方案->“在城市上放置索引city\u name\u countrycode\u idx;”?我告诉过你,用户自己在第三行给出了这个查询。。请检查……)@阿曼:阿曼,请阅读整个问题。见问题的最后陈述。有人能告诉我CREATEINDEX语句是否正确,以及为什么drop index语句不起作用吗?因此,我在回答中包含了一个结论。
DROP INDEX city_name_countrycode_idx ON city;