How to remove unique key from mysql table
Solution 1:
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:
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:
ALTER TABLE mytable DROP INDEX key_Name;
Solution 4:
For those who don't know how to get index_name
which mentioned in Devart's answer, or key_name
which mentioned in Uday Sawant'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.
Solution 5:
Unique key is actually an index. http://codeghar.wordpress.com/2008/03/28/drop-unique-constraint-in-mysql/