How to remove unique key from mysql table

MysqlSqlUnique Key

Mysql Problem Overview


I need to remove a unique key from my mysql table. How can remove that using mysql query.

I tried this but it is not working

alter table tbl_quiz_attempt_master drop unique key;

Please help me

Thanks

Mysql Solutions


Solution 1 - Mysql

All keys are named, you should use something like this -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX index_name;

To drop primary key use this one -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX `PRIMARY`;

ALTER TABLE Syntax.

Solution 2 - Mysql

First you need to know the exact name of the INDEX (Unique key in this case) to delete or update it.
INDEX names are usually same as column names. In case of more than one INDEX applied on a column, MySQL automatically suffixes numbering to the column names to create unique INDEX names.

For example if 2 indexes are applied on a column named customer_id

  1. The first index will be named as customer_id itself.
  2. The second index will be names as customer_id_2 and so on.

To know the name of the index you want to delete or update

SHOW INDEX FROM <table_name>

as suggested by @Amr

To delete an index

ALTER TABLE <table_name> DROP INDEX <index_name>;

Solution 3 - Mysql

ALTER TABLE mytable DROP INDEX key_Name;

Solution 4 - Mysql

For those who don't know how to get index_name which mentioned in [Devart][1]'s answer, or key_name which mentioned in [Uday Sawant][2]'s answer, you can get it like this:

SHOW INDEX FROM table_name;

This will show all indexes for the given table, then you can pick name of the index or unique key that you want to remove. [1]: https://stackoverflow.com/questions/9172164/how-to-remove-unique-key-from-mysql-table/9172188#9172188 [2]: https://stackoverflow.com/questions/9172164/how-to-remove-unique-key-from-mysql-table/9172221#9172221

Solution 5 - Mysql

Solution 6 - Mysql

There are two method two remove index in mysql. First method is GUI. In this method you have to open GUI interface of MYSQL and then go to that database and then go to that particular table in which you want to remove index.

After that click on the structure option, Then you can see table structure and below you can see table indexes. You can remove indexes by clicking on drop option

enter image description here

Second method by

ALTER TABLE student_login_credentials DROP INDEX created_at;

here student_login_credentials is table name and created_at is column name

Solution 7 - Mysql

To remove a unique key from a column, you have to run the below query:

ALTER TABLE your_table_name 
    DROP INDEX tableName_columnName_keyName;

Where tableName should be your name of the table followed by an underscore then columnName should be the name of the column which you want to remove from the unique key constraint followed by an underscore and at last keyName should be the name of the key i.e unique in your case.

Solution 8 - Mysql

To add a unique key use :

alter table your_table add UNIQUE(target_column_name);

To remove a unique key use:

alter table your_table drop INDEX target_column_name;

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDEVOPSView Question on Stackoverflow
Solution 1 - MysqlDevartView Answer on Stackoverflow
Solution 2 - MysqlNarendran ParivallalView Answer on Stackoverflow
Solution 3 - MysqlUday SawantView Answer on Stackoverflow
Solution 4 - MysqlAmrView Answer on Stackoverflow
Solution 5 - Mysqlsam yiView Answer on Stackoverflow
Solution 6 - MysqlSumit Kumar GuptaView Answer on Stackoverflow
Solution 7 - MysqlSumer SinghView Answer on Stackoverflow
Solution 8 - MysqlAdolf HanView Answer on Stackoverflow