如何从mysql表中删除唯一键

DEV*_*OPS 54 mysql sql unique-key

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

我试过这个,但它没有用

alter table tbl_quiz_attempt_master drop unique key;
Run Code Online (Sandbox Code Playgroud)

请帮我

谢谢

Dev*_*art 95

所有键都被命名,你应该使用这样的东西 -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX index_name;
Run Code Online (Sandbox Code Playgroud)

丢弃主键使用这个 -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX `PRIMARY`;
Run Code Online (Sandbox Code Playgroud)

ALTER TABLE语法.


Nar*_*lal 34

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

例如,如果在名为的列上应用了2个索引customer_id

  1. 第一个索引将以其customer_id自身命名.
  2. 第二个索引将是名称customer_id_2等等.

要知道要删除或更新的索引的名称

SHOW INDEX FROM <table_name>
Run Code Online (Sandbox Code Playgroud)

正如@Amr所建议的那样

删除索引

ALTER TABLE <table_name> DROP INDEX <index_name>;
Run Code Online (Sandbox Code Playgroud)


Uda*_*ant 13

ALTER TABLE mytable DROP INDEX key_Name;
Run Code Online (Sandbox Code Playgroud)


Amr*_*Amr 10

对于那些不知道如何index_nameDevart的回答key_name中提到的,或者在Uday Sawant的回答中提到的那些,你可以这样得到它:

SHOW INDEX FROM table_name;
Run Code Online (Sandbox Code Playgroud)

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


Sum*_*pta 5

在mysql中有两种方法二删除索引。第一种方法是 GUI。在这种方法中,您必须打开 MYSQL 的 GUI 界面,然后转到该数据库,然后转到要删除索引的特定表。

之后点击结构选项,然后你可以看到表结构,下面你可以看到表索引。您可以通过单击删除选项来删除索引

在此处输入图片说明

第二种方法通过

ALTER TABLE student_login_credentials DROP INDEX created_at;
Run Code Online (Sandbox Code Playgroud)

这里 student_login_credentials 是表名, created_at 是列名


小智 5

要从列中删除唯一键,您必须运行以下查询:

ALTER TABLE your_table_name 
    DROP INDEX tableName_columnName_keyName;
Run Code Online (Sandbox Code Playgroud)

其中 tableName 应该是表的名称,后跟下划线,然后 columnName 应该是要从唯一键约束中删除的列的名称,后跟下划线,最后 keyName 应该是键的名称,即唯一的你的情况。