Как удалить уникальный ключ из таблицы MySQL - PullRequest
45 голосов
/ 07 февраля 2012

Мне нужно удалить уникальный ключ из моей таблицы mysql.Как можно удалить это с помощью запроса MySQL.

Я пробовал это, но он не работает

alter table tbl_quiz_attempt_master drop unique key;

Пожалуйста, помогите мне

Спасибо

Ответы [ 7 ]

81 голосов
/ 07 февраля 2012

Все ключи названы, вы должны использовать что-то вроде этого -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX index_name;

Чтобы удалить первичный ключ, используйте этот -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX `PRIMARY`;

Синтаксис ALTER TABLE .

30 голосов
/ 30 июля 2015

Сначала вам нужно знать точное имя INDEX (уникальный ключ в данном случае), чтобы удалить или обновить его.Имена INDEX обычно совпадают с именами столбцов.Если к столбцу применено более одного INDEX, MySQL автоматически добавляет нумерацию к именам столбцов для создания уникальных имен INDEX.

Например, если к столбцу с именем customer_id

  1. применены 2 индекса, первый индекс будет назван как customer_id.
  2. Второй индексбудут именоваться как customer_id_2 и т. д.

Чтобы узнать имя индекса, который вы хотите удалить или обновить

SHOW INDEX FROM <table_name>

, как предложено @ Amr

Для удаления индекса

ALTER TABLE <table_name> DROP INDEX <index_name>;
12 голосов
/ 07 февраля 2012
ALTER TABLE mytable DROP INDEX key_Name;
7 голосов
/ 23 июня 2015

Для тех, кто не знает, как получить index_name, что упоминается в ответе Devart , или key_name, которое упоминается в ответе Uday Sawant , вы можно получить так:

SHOW INDEX FROM table_name;

Это покажет все индексы для данной таблицы, затем вы можете выбрать имя индекса или уникальный ключ, который вы хотите удалить.

4 голосов
/ 07 февраля 2012

Уникальный ключ на самом деле является индексом.http://codeghar.wordpress.com/2008/03/28/drop-unique-constraint-in-mysql/

0 голосов
/ 14 июля 2019

Существует два метода удаления индекса в mysql.Первый метод - GUI.В этом методе вы должны открыть GUI-интерфейс MYSQL, а затем перейти к этой базе данных, а затем перейти к той конкретной таблице, в которой вы хотите удалить индекс.

После этого нажмите на опцию структуры, затем вы можете увидетьСтруктура таблицы и ниже вы можете увидеть таблицы индексов.Вы можете удалить индексы, нажав опцию перетаскивания

enter image description here

Второй метод

ALTER TABLE student_login_credentials DROP INDEX created_at;

здесь student_login_credentials - это имя таблицы, а create_at - этоимя столбца

0 голосов
/ 01 марта 2018

Чтобы добавить уникальный ключ, используйте:

alter table your_table add UNIQUE(target_column_name);

Для удаления уникального ключа используйте:

alter table your_table drop INDEX target_column_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...