Primer uso SHOW INDEX FROM tbl_namepara averiguar el nombre del índice. El nombre del índice se almacena en la columna llamada key_nameen los resultados de esa consulta.
Lo siento señor, lo había intentado antes de plantear la pregunta, pero no funciona
Ankur Mukherjee
@Ankur Mukherjee: Olvidé mencionar: tiene que cambiar tbl_name e index_name por el nombre de su tabla real y el nombre del índice real, respectivamente. Puede ver los nombres en MySQL Query Browser. Tambien puedes hacerSHOW CREATE TABLE tbl_name .
Mark Byers
Mensaje de error: "Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de '(id_jugador, año, torneo)' en la línea 1"
Ankur Mukherjee
1
@Ankur Mukherjee: La forma en que he sugerido es, en mi opinión, la mejor manera de hacerlo.
Mark Byers
1
Leí en alguna parte de la pregunta usando phpMyAdmin ... La respuesta proporcionada por @systemovich debe marcarse como la aceptada.
Pere
123
Puede DROPuna restricción única de una tabla usando phpMyAdmin según lo solicitado como se muestra en la tabla a continuación. Se ha colocado una restricción única en el campo Envergadura. El nombre de la restricción es el mismo que el nombre del campo, en este caso.
Es importante tener en cuenta que la sección de índices se contrae de manera predeterminada y se expande mediante un enlace pequeño y sutil en una fuente de 12px donde la sección está en la captura de pantalla. Pero gracias a ti, lo encontré. Bendice tu cara. +1
Jack
11
Los índices capaces de colocar una restricción de clave única en una tabla son PRIMARYe 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.
Se votó porque @thomasrutter se ha referido al 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 regular INDEX.
Alex
4
Para agregar una restricción ÚNICA usando phpmyadmin, vaya a la estructura de esa tabla y busque a continuación y haga clic en eso,
Para eliminar la restricción ÚNICA, de la misma manera, vaya a la estructura y desplácese hacia abajo hasta la pestaña Índices y busque a continuación y haga clic en soltar,
A partir de MySQL 8.0.19, ALTER TABLE permite una sintaxis más general (y estándar SQL) para eliminar y modificar las restricciones existentes de cualquier tipo, donde el tipo de restricción se determina a partir del nombre de la restricción: ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Ejemplo:
CREATETABLE tab(id INT,CONSTRAINT unq_tab_id UNIQUE(id));-- checking constraint name if autogeneratedSELECT*FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME ='tab';-- dropping constraintALTERTABLE tab DROPCONSTRAINT unq_tab_id;
mi nombre de tabla es compradores que tiene una columna de restricción única emp_id ahora iam va a soltar el emp_id
paso 1: compradores de sp_helpindex exec, ver el archivo de imagen
Paso 2: copie la dirección de índice
paso 3: alterar la restricción de caída de los compradores de la tabla [UQ__buyers__1299A860D9793F2E] alterar la columna de caída de los compradores de la tabla emp_id
Nota:
Blockquote
en lugar de compradores, cámbielo al nombre de su mesa :)
Blockquote
eso es todo el nombre de la columna emp_id con restricciones se descarta!
Respuestas:
Una restricción única también es un índice.
Primer uso
SHOW INDEX FROM tbl_name
para averiguar el nombre del índice. El nombre del índice se almacena en la columna llamadakey_name
en los resultados de esa consulta.Entonces puedes usar DROP INDEX :
o la sintaxis ALTER TABLE :
fuente
SHOW CREATE TABLE tbl_name
.Puede
DROP
una restricción única de una tabla usando phpMyAdmin según lo solicitado como se muestra en la tabla a continuación. Se ha colocado una restricción única en el campo Envergadura. El nombre de la restricción es el mismo que el nombre del campo, en este caso.fuente
Los índices capaces de colocar una restricción de clave única en una tabla son
PRIMARY
eUNIQUE
í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
.fuente
UNIQUE
índice con un regularINDEX
.Para agregar una restricción ÚNICA usando phpmyadmin, vaya a la estructura de esa tabla y busque a continuación y haga clic en eso,
Para eliminar la restricción ÚNICA, de la misma manera, vaya a la estructura y desplácese hacia abajo hasta la pestaña Índices y busque a continuación y haga clic en soltar,
Espero que esto funcione.
Disfrutar;)
fuente
Para WAMP 3.0: haga clic en Estructura debajo de Agregar 1 columna, verá '- Índices' Haga clic en Índices y suelte el índice que desee.
fuente
Si desea eliminar restricciones únicas de la tabla de base de datos mysql, use la tabla alter con índice de caída.
Ejemplo:
crear una tabla de restricciones_unicas (unid int, actividad_nombre varchar (100), CONSTRAINT activty_uqniue UNIQUE (actividad_nombre), clave primaria (unid));
Donde activty_uqniue es restricción UNIQUE para ACTIVITY_NAME columna.
fuente
al soltar una clave única usamos index
fuente
La restricción podría eliminarse con la sintaxis:
Ejemplo:
db <> demostración de violín
fuente
mi nombre de tabla es compradores que tiene una columna de restricción única emp_id ahora iam va a soltar el emp_id
paso 1: compradores de sp_helpindex exec, ver el archivo de imagen
Paso 2: copie la dirección de índice
paso 3: alterar la restricción de caída de los compradores de la tabla [UQ__buyers__1299A860D9793F2E] alterar la columna de caída de los compradores de la tabla emp_id
Nota:
en lugar de compradores, cámbielo al nombre de su mesa :)
eso es todo el nombre de la columna emp_id con restricciones se descarta!
fuente
Primero eliminar tabla
ir a SQL
Usa este código:
fuente