it-swarm.com.ru

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

128
Mask

Просто вы можете использовать следующий скрипт SQL для удаления индекса в MySQL: 

alter table fuinfo drop index email;
257
Wael Dalloul

Есть лучший способ, который не требует, чтобы вы изменили таблицу:

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;

где электронная почта - это имя столбца.

58
arty

mysql> DROP INDEX email ON fuinfo;

где электронная почта это уникальный ключ (а не имя столбца). Вы найдете название уникального ключа по 

mysql> SHOW CREATE TABLE fuinfo;

здесь вы видите имя уникального ключа, например, email_2. Так...

mysql> DROP INDEX email_2 ON fuinfo;

mysql> DESCRIBE fuinfo;

Это должно показать, что индекс удален

9
gavin

Используйте запрос ниже:

ALTER TABLE `table_name` DROP INDEX key_name;

Если вы не знаете key_name, то сначала попробуйте запрос ниже, вы можете получить key_name.

SHOW CREATE TABLE table_name

OR

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

5
Chandresh

DROP INDEX column_name ON имя_таблицы

Выберите базу данных и запрос из вкладки sql. Это удалит индекс определенного столбца. У меня это работало в PHP MyADMIN

4
Lina Gom

Для MySQL 5.7.11

Шаг 1: сначала получите уникальный ключ

Используйте этот запрос, чтобы получить его:

1.1) ПОКАЗАТЬ CREATE TABLE пользователя;

В последнем случае это будет так:

.....

.....

УНИКАЛЬНЫЙ КЛЮЧ UK_8bv559q1gobqoulqpitq0gvr6 (phoneNum)

.....

....

Шаг 2: Удалите уникальный ключ по этому запросу.

ALTER TABLE Пользователь DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;

Шаг 3: Проверьте информацию таблицы, по этому запросу:

Пользователь DESC;

Это должно показать, что индекс удален

Это все.

2
ArunDhwaj IIITH

Это может помочь другим

alter table fuinfo drop index fuinfo_email_unique
2
Md Rashedul Hoque Bhuiyan

Попробуйте удалить uique столбца:

ALTER TABLE  `0_ms_labdip_details` DROP INDEX column_tcx

Запустите этот код в phpmyadmin и удалите уникальный столбец

1
Radhason

ALTER TABLE 0_value_addition_setup  DROP  INDEX   value_code
1
radhason power
 ALTER TABLE [table name] DROP KEY [key name];

это будет работать.

0
Curtis H