ホームページ  >  記事  >  データベース  >  ALTER TABLE ステートメント以外に、既存の MySQL テーブルのフィールドに UNIQUE 制約を適用するために使用できるステートメントはどれですか?

ALTER TABLE ステートメント以外に、既存の MySQL テーブルのフィールドに UNIQUE 制約を適用するために使用できるステートメントはどれですか?

王林
王林転載
2023-09-11 19:45:031327ブラウズ

除了 ALTER TABLE 语句之外,还有哪个语句可用于对现有 MySQL 表的字段应用 UNIQUE 约束?

CREATE UNIQUE INDEX ステートメントを使用して、既存の MySQL テーブルのフィールドに UNIQUE 制約を適用することもできます。その構文は次のとおりです。 -

CREATE UNIQUE INDEX index_name ON table_name(Column_name);

Example

「Test5」という名前のテーブルがあり、「ID」列に UNIQUE 制約を追加するとします。その場合、CREATE UNIQUE を使用できます。 INDEX コマンドを次のように完了するには、-

mysql> DESCRIBE TEST5;

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

2 rows in set (0.04 sec)

mysql> CREATE UNIQUE INDEX ID_UNQ ON TEST5(ID);
Query OK, 0 rows affected (0.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESCRIBE test5;

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    |  int(11)    | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)

上記のクエリの結果セットから、列 ID に UNIQUE 制約があることがわかります。

以上がALTER TABLE ステートメント以外に、既存の MySQL テーブルのフィールドに UNIQUE 制約を適用するために使用できるステートメントはどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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