web-dev-qa-db-ja.com

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に一意のキーをドロップしたいのですが、どうすればよいですか?

130
Mask

次のSQLスクリプトを使用して、MySQLのインデックスを削除できます。

alter table fuinfo drop index email;
262
Wael Dalloul

テーブルを変更する必要のない、より良い方法があります。

mysql> DROP INDEX email ON fuinfo;

ここで、emailは一意のキー(インデックス)の名前です。

次のように戻すこともできます。

mysql> CREATE UNIQUE INDEX email ON fuinfo(email);

iDEXの後の電子メールはインデックスの名前であり、オプションではありません。 INDEXの代わりにKEYを使用できます。

また、次のような複数列の一意のインデックスを作成(削除)することもできます。

mysql> CREATE UNIQUE INDEX email_fid ON fuinfo(email, fid);
mysql> DROP INDEX email_fid ON fuinfo;

複数列インデックスの名前を指定しなかった場合は、次のように削除できます。

mysql> DROP INDEX email ON fuinfo;

ここで、emailは列名です。

59
arty

mysql> DROP INDEX email on fuinfo;

ここで、emailは(列名ではなく)一意のキーです。一意のキーの名前を見つけるには

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 table_name

[sql]タブからデータベースとクエリを選択します。これにより、特定の列のインデックスが削除されます。 PHP MyADMINで機能しました

4
Lina Gom

MySQL 5.7.11の場合

ステップ-1:最初に一意のキーを取得する

このクエリを使用して取得します。

1.1)SHOW CREATE TABLEユーザー;

最後に、次のようになります。

.....

.....

一意のキーUK_8bv559q1gobqoulqpitq0gvr6phoneNum

.....

....

ステップ-2:このクエリで一意のキーを削除します。

ALTER TABLE User DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;

ステップ-3:次のクエリにより、テーブル情報を確認します。

DESCユーザー;

これは、インデックスが削除されたことを示すはずです

それで全部です。

2
ArunDhwaj IIITH

これは他の人を助けるかもしれません

alter table fuinfo drop index fuinfo_email_unique

列の一意を削除してみてください:

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