我使用的是MySQL v5.1。
我想通过执行以下SQL语句在一个表上创建索引:
CREATE INDEX index_name
ON table_name (column_name)但是,我想首先检查该列上的索引是否已经创建,如果没有,就创建它(否则不要创建)。它的SQL语法是什么?
发布于 2011-12-05 01:26:20
Mysql没有用于CREATE INDEX的IF NOT EXISTS。您可以通过查询information_schema.statistics表来解决。看一下索引,这里有一个存储过程的例子,它完成了你想要做的事情(在页面上搜索"CREATE INDEX IF here“)
发布于 2011-12-05 01:18:42
你想要SHOW INDEX。
要获取表上的所有索引,请执行以下操作:
SHOW INDEX FROM table_nameMySQL还允许您添加WHERE子句来限制结果。
在检查索引是否存在时锁定表(如果不存在,则创建索引),这样在您检查索引之后、您自己创建索引之前,另一个进程就不会立即创建索引。
https://stackoverflow.com/questions/8377063
复制相似问题