ホームページ  >  記事  >  データベース  >  既存の MySQL テーブルのフィールドに UNIQUE 制約を適用するにはどうすればよいでしょうか?

既存の MySQL テーブルのフィールドに UNIQUE 制約を適用するにはどうすればよいでしょうか?

PHPz
PHPz転載
2023-09-16 21:05:021175ブラウズ

我们如何对现有 MySQL 表的字段应用 UNIQUE 约束?

ALTER TABLE ステートメントを使用して、既存の MySQL テーブルの列に UNIQUE 制約を適用できます。

構文

ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;
                    OR
ALTER TABLE table_name ADD UNIQUE (colum_name);

「Test4」という名前のテーブルがあり、「Name」列に UNIQUE 制約を追加するとします。その場合、ALTER を使用できます。 TABLE コマンドは、次の -

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

mysql> ALTER TABLE test4 MODIFY Name Varchar(20) UNIQUE;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

を完成させるために使用されます。上記の結果セットからわかるように、MySQL はフィールド「Name」に UNIQUE 制約を追加しました。次のクエリ -

mysql> Alter table test4 add UNIQUE(name);
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0
を使用して、UNIQUE 制約を追加することもできます。

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

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