我需要从我的mysql表中删除一个唯一键。如何使用mysql查询来删除它。
我已经尝试过这个方法,但它没有起作用。
alter table tbl_quiz_attempt_master drop unique key;
请帮帮我
谢谢
我需要从我的mysql表中删除一个唯一键。如何使用mysql查询来删除它。
我已经尝试过这个方法,但它没有起作用。
alter table tbl_quiz_attempt_master drop unique key;
请帮帮我
谢谢
所有键都有名称,你应该像这样使用 -
ALTER TABLE tbl_quiz_attempt_master
DROP INDEX index_name;
要删除主键,请使用以下方法 -
ALTER TABLE tbl_quiz_attempt_master
DROP INDEX `PRIMARY`;
首先,你需要知道要删除或更新的索引(在这种情况下为唯一键)的确切名称。
索引名称通常与列名相同。如果在列上应用了多个索引,在列名后MySQL会自动添加编号以创建唯一的索引名称。
例如,如果在名为customer_id
的列上应用了2个索引,则:
customer_id
。customer_id_2
,依此类推。SHOW INDEX FROM <table_name>
如@Amr所建议的
ALTER TABLE <table_name> DROP INDEX <index_name>;
以下是如何获取Devart的答案中提到的index_name
或Uday Sawant的答案中提到的key_name
:
SHOW INDEX FROM table_name;
这将显示给定表名的所有索引。您可以选择要删除的索引名称或唯一键。
ALTER TABLE mytable DROP INDEX key_Name;
要从列中删除唯一键,您需要运行以下查询:
ALTER TABLE your_table_name
DROP INDEX tableName_columnName_keyName;
在这里,tableName 应该是您的表名,后面跟着一个下划线,然后是 columnName,应该是您想从唯一键约束中删除的列的名称,再跟着一个下划线,最后是 keyName,即您的情况下的唯一键的名称。
:
alter table your_table add UNIQUE(target_column_name);
要删除唯一键,请使用:
alter table your_table drop INDEX target_column_name;