回答:
テーブルを変更する必要がないより良い方法があります:
mysql> DROP INDEX email ON fuinfo;
ここで、電子メールは一意のキー(インデックス)の名前です。
そのように戻すこともできます。
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は列名です。
以下のクエリを使用:
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
これは他の人を助けるかもしれません
alter table fuinfo drop index fuinfo_email_unique
MySQL 5.7.11の場合
ステップ-1:最初に一意のキーを取得する
このクエリを使用して取得します。
1.1)SHOW CREATE TABLEユーザー;
最後は次のようになります:
.....
.....
一意キーUK_8bv559q1gobqoulqpitq0gvr6
(phoneNum
)
.....
....
ステップ-2:このクエリで一意のキーを削除します。
ALTER TABLEユーザードロップインデックスUK_8bv559q1gobqoulqpitq0gvr6;
ステップ-3:次のクエリでテーブル情報を確認します。
DESCユーザー;
これにより、インデックスが削除されたことが示されます。
それで全部です。
email
列への外部キーが存在する場合(エラー150)は、このようなキーを削除できない場合があることに注意してください。これを機能させるには、最初に外部キーを削除してからインデックスを削除し、その後外部キーを再作成します。たとえば、ALTER TABLE fuinfo DROP外部キーfk_name_for_email;