tipos tamaño reconstruir mostrar indice index funciona español crear consultas con como archivo mysql database

reconstruir - tamaño de indices mysql



¿Cómo muestro las restricciones únicas de una tabla en MySQL? (4)

Los creé, pero olvidé cuáles son.

Solo quiero

  1. mostrarles.
  2. Eliminar todas las restricciones en una tabla.

El OP pidió una sola mesa, lo que hará.

Además, al eliminar la última cláusula where se mostrarán todas las columnas de una base de datos que están protegidas por restricciones únicas:

SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME LIKE ''UNIQ%'' AND TABLE_SCHEMA = ''your_database_name'' AND TABLE_NAME = ''your_table_name'';

Desafortunadamente, mysql no facilita la eliminación de índices basados ​​en el resultado de una consulta. Puede ejecutar la salida de la siguiente consulta para eliminar todas las columnas únicas en 2 consultas:

SELECT CONCAT( ''ALTER TABLE '', TABLE_NAME, '' DROP INDEX '', CONSTRAINT_NAME, ''; -- drops '', COLUMN_NAME, '' constraint'' ) FROM information_schema.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME LIKE ''UNIQ%'' AND TABLE_SCHEMA = ''your_database_name'';


Esto no produce resultados elegantes, pero es fácil de recordar:

SHOW CREATE TABLE table_name;


select distinct CONSTRAINT_NAME from information_schema.TABLE_CONSTRAINTS where CONSTRAINT_SCHEMA = ''mysql''


select distinct CONSTRAINT_NAME from information_schema.TABLE_CONSTRAINTS where table_name = ''table_name'' and constraint_type = ''UNIQUE'';