146
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、どうすればよいですか?

4

10 に答える 10

289

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

alter table fuinfo drop index email;
于 2009-10-14T08:12:58.553 に答える
62

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

mysql> DROP INDEX email ON fuinfo;

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

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

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

ここで、IDEX の後の email はインデックスの名前であり、オプションではありません。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 は列名です。

于 2010-10-28T10:31:26.720 に答える
10

mysql> DROP INDEX メール ON fuinfo;

ここで、emailは (列名ではなく) 一意のキーです。一意のキーの名前は、

mysql> SHOW CREATE TABLE fuinfo;

ここには、一意のキーの名前が表示されます。たとえば、email_2 などです。そう...

mysql> DROP INDEX email_2 ON fuinfo;

mysql> DESCRIBE fuinfo;

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

于 2012-08-02T13:35:26.000 に答える
6

以下のクエリを使用します。

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

于 2016-06-06T06:19:00.890 に答える
4

DROP INDEX column_nameON table_name

データベースを選択し、[SQL] タブからクエリを実行します。これにより、特定の列のインデックスが削除されます。PHP MyADMINでうまくいきました

于 2015-03-18T11:44:27.707 に答える
3

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

alter table fuinfo drop index fuinfo_email_unique
于 2016-03-15T10:04:37.270 に答える
1

ALTER TABLE 0_value_addition_setup  DROP  INDEX   value_code
于 2016-10-04T09:49:39.083 に答える