How to remove unique key from mysql table
MysqlSqlUnique KeyMysql 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`;
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
- The first index will be named as
customer_id
itself. - 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
Unique key is actually an index. http://codeghar.wordpress.com/2008/03/28/drop-unique-constraint-in-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
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;