Сначала используйте, SHOW INDEX FROM tbl_nameчтобы узнать имя индекса. Имя индекса хранится в столбце, который вызывается key_nameв результатах этого запроса.
Извините, сэр, я пробовал это, прежде чем поднять вопрос, но это не работает
Анкур Мукерджи
@Ankur Mukherjee: Я забыл упомянуть: вы должны изменить tbl_name и index_name на имя вашей фактической таблицы и имя фактического индекса, соответственно. Вы можете увидеть имена в MySQL Query Browser. Вы также можете сделать SHOW CREATE TABLE tbl_name.
Марк Байерс
Сообщение об ошибке: «У вас есть ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '(player_id, year, турнир)' в строке 1»
Анкур Мукерджи,
1
@ Ankur Mukherjee: Способ, который я предложил, по моему мнению, лучший способ сделать это.
Марк Байерс
1
Я где-то прочитал вопрос, используя phpMyAdmin ... Ответ, предоставленный @systemovich, должен быть помечен как принятый.
Пере
123
Вы можете DROPсоздать уникальное ограничение из таблицы, используя phpMyAdmin, как показано в таблице ниже. Уникальное ограничение было наложено на поле Wingspan. В этом случае имя ограничения совпадает с именем поля.
Важно отметить, что секция индексов по умолчанию свернута и расширена небольшой тонкой ссылкой шрифтом 12px, где секция находится на скриншоте. Но благодаря тебе я нашел это. Благослови свое лицо. +1
Проголосовал, потому что @thomasrutter коснулся того факта, что удаление уникального ограничения может отрицательно повлиять на производительность запроса - и это можно уменьшить, заменив UNIQUEиндекс регулярным INDEX.
Алекс
4
Чтобы добавить ограничение UNIQUE с помощью phpmyadmin, перейдите к структуре этой таблицы, найдите ниже и щелкните по ней,
Чтобы удалить ограничение UNIQUE, аналогичным образом, перейдите к структуре и прокрутите вниз до вкладки индексов, найдите ниже и нажмите drop,
Начиная с MySQL 8.0.19, ALTER TABLE допускает более общий (и стандартный SQL) синтаксис для удаления и изменения существующих ограничений любого типа, где тип ограничения определяется из имени ограничения: ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Пример:
CREATETABLE tab(id INT,CONSTRAINT unq_tab_id UNIQUE(id));-- checking constraint name if autogeneratedSELECT*FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME ='tab';-- dropping constraintALTERTABLE tab DROPCONSTRAINT unq_tab_id;
Ответы:
Уникальным ограничением является также индекс.
Сначала используйте,
SHOW INDEX FROM tbl_name
чтобы узнать имя индекса. Имя индекса хранится в столбце, который вызываетсяkey_name
в результатах этого запроса.Тогда вы можете использовать DROP INDEX :
или синтаксис ALTER TABLE :
источник
SHOW CREATE TABLE tbl_name
.Вы можете
DROP
создать уникальное ограничение из таблицы, используя phpMyAdmin, как показано в таблице ниже. Уникальное ограничение было наложено на поле Wingspan. В этом случае имя ограничения совпадает с именем поля.источник
Индексы , способные размещения уникального ключа ограничения на таблице,
PRIMARY
иUNIQUE
индексы.Чтобы удалить ограничение уникального ключа для столбца, но сохранить индекс, вы можете удалить и заново создать индекс с типом
INDEX
.Обратите внимание, что для всех таблиц рекомендуется помечать индекс
PRIMARY
.источник
UNIQUE
индекс регулярнымINDEX
.Чтобы добавить ограничение UNIQUE с помощью phpmyadmin, перейдите к структуре этой таблицы, найдите ниже и щелкните по ней,
Чтобы удалить ограничение UNIQUE, аналогичным образом, перейдите к структуре и прокрутите вниз до вкладки индексов, найдите ниже и нажмите drop,
Надеюсь, это работает.
Наслаждаться ;)
источник
Для WAMP 3.0: щелкните «Структура под добавлением 1 столбца», и вы увидите «- Индексы». Нажмите «Индексы» и удалите тот индекс, который вам нужен.
источник
Если вы хотите удалить уникальные ограничения из таблицы базы данных mysql, используйте alter table с drop index.
Пример:
создать таблицу unique_constraints (unid int, имя_операции varchar (100), CONSTRAINT activty_uqniue UNIQUE (имя_ действия), первичный ключ (unid));
Где activty_uqniue это ограничение уникальности для ACTIVITY_NAME столбца.
источник
при отбрасывании уникального ключа мы используем индекс
источник
Ограничение может быть снято с помощью синтаксиса:
Пример:
db <> Fiddle demo
источник
мое имя таблицы - покупатели, у которых есть уникальный столбец ограничений emp_id, теперь я собираюсь отбросить emp_id
Шаг 1: exec sp_helpindex покупателей, смотрите файл изображения
шаг 2: скопировать адрес индекса
шаг 3: изменить ограничение удаления покупателей таблицы [UQ__buyers__1299A860D9793F2E] изменить столбец удаления покупателей таблицы emp_id
нота:
вместо покупателей поменяйте его на название вашей таблицы :)
вот и все имя столбца emp_id с ограничениями отбрасывается!
источник
Сначала удалите таблицу
перейти на SQL
Используйте этот код:
источник