更新时间:2025-09-11 GMT+08:00
DROP INDEX
功能描述
删除索引。
注意事项
- 索引的所有者、索引所在模式的所有者、拥有索引所在表的INDEX权限的用户或者被授予了DROP ANY INDEX权限的用户有权限执行DROP INDEX命令,三权分立关闭时的系统管理员默认拥有此权限。
- 对于全局临时表,当某个会话已经初始化了全局临时表对象(包括创建全局临时表和第一次向全局临时表内插入数据)时,其他会话无法执行该表上索引的删除操作。
语法格式
DROP INDEX [ IF EXISTS ]
index_name [, ...] [ CASCADE | RESTRICT];
DROP INDEX index_name [, ...] [CASCADE | RESTRICT] ON table_name [algorithm_option | lock_option];
参数说明
- IF EXISTS
如果指定的索引不存在,则发出一个notice而不是抛出一个ERROR。
- index_name
要删除的索引名。
取值范围:已存在的索引。
- CASCADE | RESTRICT
- CASCADE:表示允许级联删除依赖于该索引的对象。
- RESTRICT:表示有依赖于此索引的对象存在,则该索引无法被删除。此选项为缺省值。
- table_name
表名。
- algorithm_option
参考CREATE INDEX。
- lock_option
参考CREATE INDEX。
示例
-- 建表 m_db=# CREATE TABLE test1_index (id INT, name VARCHAR(20)); m_db=# CREATE INDEX idx_test1 on test1_index (id); -- 删除索引 m_db=# DROP INDEX IF EXISTS idx_test1 CASCADE; -- 删除表 m_db=# DROP TABLE test1_index;
相关链接
父主题: D