2010-08-15 15 views

Respuesta

249

Una restricción única también es un índice.

Primero use SHOW INDEX FROM tbl_name para averiguar el nombre del índice. El nombre del índice se almacena en la columna llamada key_name en los resultados de esa consulta.

continuación, puede utilizar DROP INDEX:

DROP INDEX index_name ON tbl_name 

o la sintaxis ALTER TABLE:

ALTER TABLE tbl_name DROP INDEX index_name 
+0

Lo siento, señor, lo había intentado antes de plantear la pregunta, pero no está funcionando –

+0

@Ankur Mukherjee: I se olvidó de mencionar: debe cambiar tbl_name y index_name por el nombre de su tabla actual y el nombre del índice real, respectivamente. Puede ver los nombres en MySQL Query Browser. También puede hacer 'SHOW CREATE TABLE tbl_name'. –

+1

Sir lo sé muy bien y lo había intentado solo –

10

Los índices capaces de colocar una restricción de clave único en una tabla son PRIMARY y UNIQUE índices.

Para eliminar la restricción de clave única en una columna pero mantener el índice, puede eliminar y volver a crear el índice con el tipo INDEX.

Tenga en cuenta que es una buena idea que todas las tablas tengan un índice marcado PRIMARY.

+1

Upvoted porque @thomasrutter ha tocado el hecho de que eliminar una restricción única ** puede afectar negativamente el rendimiento de la consulta **, y esto puede mitigarse reemplazando el 'UNIQUE' índice con un 'ÍNDICE' regular. – Alex

+0

funcionó @thomastrutter, gracias –

101

Puede DROP una restricción única de una tabla utilizando phpMyAdmin como se solicitó como se muestra en la tabla a continuación. Se ha colocado una restricción única en el campo Wingspan. El nombre de la restricción es el mismo que el nombre del campo, en este caso.

alt text

+29

Es importante tener en cuenta que la sección de índices está contraída de forma predeterminada, y se expande mediante un pequeño y sutil enlace en letra de 12px donde la sección está en la captura de pantalla. Pero gracias a ti, lo encontré. Bendice tu cara. +1 – Jack

+0

Acabo de eliminar 25 índices ... – CousinCocaine

+0

Respuesta realmente útil –

1

Para WAMP 3.0: Haga clic Estructura A continuación Añadir 1 Columna verá '- Índices' Haga clic en -Indexes y caída de lo que el índice que desee.

0

Si desea eliminar restricciones únicas de la tabla de base de datos mysql, use alter table with drop index.

Ejemplo:

crear unique_constraints de mesa (int unid, varchar ACTIVITY_NAME (100), la restricción activty_uqniue único (ACTIVITY_NAME), clave primaria (UNID));

alter table unique_constraints drop index activty_uqniue; 

Dónde activty_uqniue es restricción UNIQUE para ACTIVITY_NAME columna.

Cuestiones relacionadas