Necesité buscar esto en Google un par de veces, así que estoy compartiendo mi Q / A.
105
Use SHOW INDEX
así:
SHOW INDEX FROM [tablename]
Documentos: https://dev.mysql.com/doc/refman/5.0/en/show-index.html
my_table
DONDE Key_name = 'index_to_check';Tratar:
Le dirá si hay un índice de algún tipo en una columna determinada sin necesidad de conocer el nombre que se le da al índice. También funcionará en un procedimiento almacenado (en lugar de mostrar índice)
fuente
puede encontrar si existe una clave única en la tabla
fuente
fuente
Utilice la siguiente declaración: SHOW INDEX FROM your_table
Y luego verifique el resultado de los campos: fila ["Tabla"], fila ["Nombre_clave"]
Asegúrate de escribir "Key_name" correctamente
fuente
para ver un diseño de tablas del cli. tu harías
o
fuente
Si necesita la funcionalidad si existe un índice para una columna (aquí en primer lugar en secuencia) como una función de base de datos, puede usar / adoptar este código. Si desea comprobar si existe un índice independientemente de la posición en un índice de varias columnas, simplemente elimine la parte "AND SEQ_IN_INDEX = 1".
fuente
puede usar la siguiente declaración SQL para verificar que la columna dada en la tabla esté indexada o no
dado que las uniones son contra INNODB_SYS_ *, por lo que los índices de coincidencia solo provienen de tablas INNODB
fuente
Intenta usar esto:
fuente
No puede ejecutar una consulta de índice de espectáculo específica porque arrojará un error si no existe un índice. Por lo tanto, debe tomar todos los índices en una matriz y recorrerlos si desea evitar errores de SQL.
Así es como lo hago. Agarro todos los índices de la tabla (en este caso
leads
) y luego, en un bucle foreach, compruebo si el nombre de la columna (en este casoprovince
) existe o no.De esta manera, realmente puede reducir los atributos del índice. Haga una
print_r
de$res
para ver con qué puede trabajar.fuente