2012-02-07 35 views
31

我需要从我的mysql表中删除唯一密钥。如何删除使用mysql查询。如何从mysql表中删除唯一密钥

我试过,但它不工作

alter table tbl_quiz_attempt_master drop unique key; 

请帮我

感谢

+2

重复的帖子http://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql的 – user3404455 2016-02-07 21:38:20

+1

可能的复制[如何降独特在MySQL?](https://stackoverflow.com/questions/1564924/how-to-drop-unique-in-mysql) – 2018-02-16 13:56:29

回答

60

所有按键都命名,你应该使用这样的事情 -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX index_name; 

要删除主键使用这一个 -

ALTER TABLE tbl_quiz_attempt_master 
    DROP INDEX `PRIMARY`; 

ALTER TABLE Syntax

9
ALTER TABLE mytable DROP INDEX key_Name; 
5

对于那些谁不知道怎么弄的回答“这Uday Sawant提到的答案,或key_nameindex_nameDevart提到的,你可以这样说:

SHOW INDEX FROM table_name; 

这将显示给定表的所有索引,然后您可以选择要删除的索引或唯一键的名称。

24

首先您需要知道INDEX(在这种情况下是唯一键)的确切名称以删除或更新它。
INDEX名称通常与列名称相同。如果在一列上应用了多个INDEX,MySQL会自动为列名后缀编号以创建唯一的INDEX名称。

例如,如果对列施加2个索引命名customer_id

  1. 第一索引将被命名为customer_id本身。
  2. 第二个索引将被命名为customer_id_2等等。

知道你想要删除或更新

SHOW INDEX FROM <table_name> 

索引的名称由@Amr

的建议

若要删除索引

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

增添独一无二关键用途:

alter table your_table add UNIQUE(target_column_name); 

要删除唯一键的使用:

alter table your_table drop INDEX target_column_name;