Как сбросить уникальные в MySQL?
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
,как?
10 ответов
Просто вы можете использовать следующий скрипт SQL для удаления индекса в MySQL:
alter table fuinfo drop index 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
Индекс капли column_name
ON table_name
Выберите базу данных и запрос из вкладки sql. Это удалит индекс определенного столбца. У меня сработало в PHP MyADMIN
Это может помочь другим
alter table fuinfo drop index fuinfo_email_unique
Для MySQL 5.7.11
Шаг 1: сначала получите уникальный ключ
Используйте этот запрос, чтобы получить его:
1.1) ПОКАЗАТЬ CREATE TABLE пользователя;
В последнем случае это будет так:
.....
.....
УНИКАЛЬНЫЙ КЛЮЧ UK_8bv559q1gobqoulqpitq0gvr6
(phoneNum
)
.....
....
Шаг 2: Удалите уникальный ключ по этому запросу.
ALTER TABLE Пользователь DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;
Шаг 3: Проверьте информацию таблицы, по этому запросу:
Пользователь DESC;
Это должно показать, что индекс удален
Это все.
ALTER TABLE [table name] DROP KEY [key name];
это будет работать
Попробуйте удалить uique столбца:
ALTER TABLE `0_ms_labdip_details` DROP INDEX column_tcx
Запустите этот код в phpmyadmin и удалите уникальный столбец