Create Table: CREATE TABLE `fuinfo` (
`fid` int(10) unsigned NOT NULL,
`name` varchar(40) NOT NULL,
`email` varchar(128) NOT NULL,
UNIQUE KEY `email` (`email`),
UNIQUE KEY `fid` (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Я хочу накинуть уникальный ключ email
, как?
email
столбца (ошибка 150). Чтобы это сработало, сначала отбросьте внешний ключ, затем отбросьте индекс и затем заново создайте внешний ключ. например, ALTER TABLE fuinfo DROP внешний ключ fk_name_for_email;Есть лучший способ, который не требует от вас изменения таблицы:
mysql> DROP INDEX email ON fuinfo;
где электронная почта - это имя уникального ключа (индекса).
Вы также можете вернуть его вот так:
mysql> CREATE UNIQUE INDEX email ON fuinfo(email);
где электронная почта после IDEX - это имя индекса, и это не обязательно. Вы можете использовать KEY вместо INDEX.
Также возможно создание (удаление) многоколоночных уникальных индексов, таких как:
mysql> CREATE UNIQUE INDEX email_fid ON fuinfo(email, fid); mysql> DROP INDEX email_fid ON fuinfo;
Если вы не указали название многоколоночного индекса, то можете удалить его так:
mysql> DROP INDEX email ON fuinfo;
где электронная почта - это имя столбца.
источник
mysql> DROP INDEX email ON fuinfo;
где электронная почта - это уникальный ключ (а не имя столбца). Вы найдете имя уникального ключа
mysql> SHOW CREATE TABLE fuinfo;
здесь вы видите имя уникального ключа, например, email_2. Так...
mysql> DROP INDEX email_2 ON fuinfo; mysql> DESCRIBE fuinfo;
Это должно показать, что индекс удален
источник
Используйте запрос ниже:
ALTER TABLE `table_name` DROP INDEX key_name;
Если вы не знаете key_name, сначала попробуйте запрос ниже, вы можете получить key_name.
SHOW CREATE TABLE table_name
ИЛИ
SHOW INDEX FROM table_name;
Если вы хотите удалить / удалить первичный ключ из таблицы mysql, используйте для этого запрос ниже
ALTER TABLE `products` DROP INDEX `PRIMARY`;
Код взят из: http://chandreshrana.blogspot.in/2015/10/how-to-remove-unique-key-from-mysql.html
источник
DROP INDEX
column_name
ON имя_таблицыВыберите базу данных и запросите из вкладки sql. Это удалит индекс определенного столбца. Это сработало для меня в PHP MyADMIN
источник
Это может помочь другим
alter table fuinfo drop index fuinfo_email_unique
источник
Для MySQL 5.7.11
Шаг 1. Сначала получите уникальный ключ
Используйте этот запрос, чтобы получить это:
1.1) ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ пользователя;
В последнем будет так:
.....
.....
УНИКАЛЬНЫЙ КЛЮЧ
UK_8bv559q1gobqoulqpitq0gvr6
(phoneNum
).....
....
Шаг 2: Удалите уникальный ключ по этому запросу.
ALTER TABLE Пользовательский DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;
Шаг 3: Проверьте информацию о таблице по этому запросу:
Пользователь DESC;
Это должно показать, что индекс удален
Вот и все.
источник
ALTER TABLE 0_value_addition_setup DROP INDEX value_code
источник
Попробуйте удалить uique столбца:
ALTER TABLE `0_ms_labdip_details` DROP INDEX column_tcx
Запустите этот код в phpmyadmin и удалите уникальный столбец
источник
ALTER TABLE [table name] DROP KEY [key name];
это будет работать.
источник