2012-02-07 74 views
31

Necesito eliminar una clave única de mi tabla mysql. ¿Cómo puedo eliminar eso usando la consulta de MySQL?Cómo eliminar una clave única de la tabla mysql

He intentado esto, pero no está trabajando

alter table tbl_quiz_attempt_master drop unique key; 

Por favor, ayúdame

Gracias

+2

duplicado a http://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql – user3404455

+1

duplicado posible de [Cómo colocar único en MySQL?] (https://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql) –

Respuesta

60

Todas las claves se nombran, se debe utilizar algo como esto -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX index_name; 

Para dejar caer el uso de clave principal éste -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX `PRIMARY`; 

ALTER TABLE Syntax.

9
ALTER TABLE mytable DROP INDEX key_Name; 
5

Para aquellos que no saben cómo conseguir index_name, que menciona en Devart 's respuesta, o key_name el cual menciona en Uday Sawant' s respuesta, se puede obtener de esta manera:

SHOW INDEX FROM table_name; 

Esto mostrará todos los índices para la tabla dada, luego puede elegir el nombre del índice o la clave única que desea eliminar.

24

Primero debe saber el nombre exacto del ÍNDICE (clave única en este caso) para eliminarlo o actualizarlo.
Los nombres de ÍNDICE suelen ser los mismos que los nombres de columna. En el caso de más de un ÍNDICE aplicado en una columna, MySQL automáticamente agrega la numeración a los nombres de las columnas para crear nombres INDEX únicos.

Por ejemplo, si se aplican 2 índices en una columna denominada customer_id

  1. El primer índice será nombrado como customer_id sí mismo.
  2. El segundo índice será nombres como customer_id_2 y así sucesivamente.

saber el nombre del índice que desea borrar o actualizar

SHOW INDEX FROM <table_name> 

según lo sugerido por @Amr

Para eliminar un índice

ALTER TABLE <table_name> DROP INDEX <index_name>; 
-1

Para añadir un único uso de la clave:

alter table your_table add UNIQUE(target_column_name); 

Para eliminar una utilización única clave: Poste

alter table your_table drop INDEX target_column_name; 
Cuestiones relacionadas