RENAME INDEX 语句 用于更改表的索引名。

注意:无法重命名与视图相关联的索引名。 查看 视图依赖 以获取更多细节。

概要

所需权限

用户必需具有该表的 CREATE 权限

参数

参数 描述
IF EXISTS 仅在需要更改索引名称存在时才会执行操作
table_name 需要变更的索引所在的表名
index_name 当前需要变更的索引原名
name name 索引变更至的新名称,新名称在该数据库中必须具有唯一性且遵循标识符规则

例子

索引重命名

SHOW INDEXES FROM users;

+-------+----------------+--------+-----+--------+-----------+---------+----------+
| Table |      Name      | Unique | Seq | Column | Direction | Storing | Implicit |
+-------+----------------+--------+-----+--------+-----------+---------+----------+
| users | primary        | true   |   1 | id     | ASC       | false   | false    |
| users | users_name_idx | false  |   1 | name   | ASC       | false   | false    |
| users | users_name_idx | false  |   2 | id     | ASC       | false   | true     |
+-------+----------------+--------+-----+--------+-----------+---------+----------+
(3 rows)
ALTER INDEX users@users_name_idx RENAME TO name_idx;

结果

SHOW INDEXES FROM users;

+-------+----------+--------+-----+--------+-----------+---------+----------+
| Table |   Name   | Unique | Seq | Column | Direction | Storing | Implicit |
+-------+----------+--------+-----+--------+-----------+---------+----------+
| users | primary  | true   |   1 | id     | ASC       | false   | false    |
| users | name_idx | false  |   1 | name   | ASC       | false   | false    |
| users | name_idx | false  |   2 | id     | ASC       | false   | true     |
+-------+----------+--------+-----+--------+-----------+---------+----------+
(3 rows)

其他