如何从mysql表中删除唯一键


Answers:


118

所有键均已命名,您应使用类似以下内容的名称-

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX index_name;

要删除主键,请使用此键-

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX `PRIMARY`;

ALTER TABLE语法


43

首先,您需要知道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>;


13

对于那些谁不知道如何让index_name其中提到Devart的答案,或者key_name其中提到乌代张以芳的回答,你可以这样说:

SHOW INDEX FROM table_name;

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


我仍然得到:“您的SQL语法有错误;”
Dean P


4

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

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

在此处输入图片说明

第二种方法

ALTER TABLE student_login_credentials DROP INDEX created_at;

这里student_login_credentials是表名,created_at是列名


0

要添加唯一密钥,请使用:

alter table your_table add UNIQUE(target_column_name);

要删除唯一密钥,请使用:

alter table your_table drop INDEX target_column_name;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.