ホームページ  >  記事  >  データベース  >  MySQL テーブルから一意制約を削除するにはどうすればよいでしょうか?

MySQL テーブルから一意制約を削除するにはどうすればよいでしょうか?

WBOY
WBOY転載
2023-08-24 19:25:053446ブラウズ

MySQL テーブルから一意制約を削除するにはどうすればよいでしょうか?

MySQL テーブルから UNIQUE 制約を削除するには、まずテーブルの UNIQUE 制約によって作成されたインデックスの名前を確認する必要があります。 SHOW INDEX ステートメントがこの目的に使用されることがわかっています。 SHOW INDEX ステートメントの結果セットの「key_name」にはインデックスの名前が含まれます。 DROP INDEX ステートメントまたは ALTER TABLE ステートメントを使用して、UNIQUE 制約を削除できるようになりました。 2 つのステートメントの構文は次のとおりです。

Syntax

DROP INDEX index_name ON table_name;
OR
ALTER TABLE table_name DROP INDEX index_name;

Example

唯一の制約を持つ 'empl' という名前のテーブルがあるとします。インデックス名は −

mysql> Show Index from empl\G
*************************** 1. row ***************************
Table: empl
Non_unique: 0
Key_name: empno
Seq_in_index: 1
Column_name: empno
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.02 sec)

で確認できます。一意制約を削除したい場合は、次のクエリを作成できます。 −

mysql> ALTER TABLE empl DROP INDEX empno;
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0

次のクエリの結果セットは、列 'empno' に一意の要素はありません 制約 −

mysql> describe empl;

+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| empno | int(11) | YES | | NULL | |
| F_name | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)

empl クエリから showindex を実行しても、MySQL は以下に示すように空のセットを返します。 −

mysql> Show index from empl;
Empty set (0.00 sec)

DROP INDEX ステートメントから結果を取得できます。次に示すように、「empl」テーブル内の UNIQUE 制約を削除します。

以上がMySQL テーブルから一意制約を削除するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。