Как сбросить уникальные в 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 и удалите уникальный столбец

ALTER TABLE 0_value_addition_setup  DROP  INDEX   value_code
Другие вопросы по тегам