如果MySQL中不存在索引,是否有创建索引的方法?
MySQL不支持明显的格式:
CREATE INDEX IF NOT EXISTS index_name ON table(column)
ERROR 1064 (42000): You have an error in your SQL syntax;...
MySQL版本(mysql -V
)为5.1.48,但我认为MySQL在其所有版本中都缺乏CREATE INDEX IF NOT EXIST
能力。
只有在MySQL中不存在索引的情况下,创建索引的正确方法是什么?
发布于 2017-06-13 16:51:27
SELECT COUNT(*)
FROM information_schema.statistics
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'table_name'
AND INDEX_NAME = 'index_name';
我的查询将为您提供具有特定index_name的表上的索引数。基于这个计数,您可以决定是否发出CREATE INDEX
命令。
MariaDB支持IF NOT EXISTS
语法。您可以在那里使用CREATE INDEX IF NOT EXISTS
。
https://dba.stackexchange.com/questions/24531
复制相似问题