如何利用“如果存在”在MySQL中创建或删除索引?
我想知道是否有一种方法可以在MySQL上创建索引或销毁索引之前检查索引是否存在。几年前似乎有一个功能请求,但我找不到任何解决方案的文档。这需要在使用MDB2的PHP应用程序中完成。
我想知道是否有一种方法可以在MySQL上创建索引或销毁索引之前检查索引是否存在。几年前似乎有一个功能请求,但我找不到任何解决方案的文档。这需要在使用MDB2的PHP应用程序中完成。
这是我的4衬里:
set @exist := (select count(*) from information_schema.statistics where table_name = 'table' and index_name = 'index' and table_schema = database());
set @sqlstmt := if( @exist > 0, 'select ''INFO: Index already exists.''', 'create index i_index on tablename ( columnname )');
PREPARE stmt FROM @sqlstmt;
EXECUTE stmt;
IF EXISTS
修改器尚未为 或 尚未构建。但是,您可以在创建/删除索引之前手动检查是否存在。DROP INDEX
CREATE INDEX
使用此句子可以检查索引是否已存在。
SHOW INDEX FROM table_name WHERE KEY_NAME = 'index_name'