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

WBOY
リリース: 2023-08-24 19:25:05
転載
3443 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!