ホームページ >データベース >mysql チュートリアル >mysqlに一意制約を追加するにはどうすればよいですか?
方法: 1. テーブルを作成する場合は、「CREATE TABLE テーブル名 (フィールド名データ型 UNIQUE);」ステートメントを使用して追加します; 2. テーブルを変更する場合は、「ALTER TABLE テーブル名 ADD CONSTRAINT」を使用します。一意制約名 UNIQUE (列名);」ステートメントを追加します。
(推奨チュートリアル: mysql ビデオ チュートリアル)
MySQL の一意制約 (一意キー) は、値を参照します。フィールドの は繰り返し表示できません。たとえば、一意の制約を id フィールドに追加すると、各レコードの id 値は一意になり、繰り返すことはできなくなります。いずれかのレコードの ID 値が「0001」の場合、テーブル内に ID 値「0001」を持つ別のレコードは存在できません。
一意制約は、列の一意性を保証できるという点で主キー制約に似ています。違いは、テーブル内に複数の一意制約を設定できることと、一意制約が設定されている列には NULL 値を持つことが許可されますが、NULL 値は 1 つだけであることです。テーブル内に存在できる主キー制約は 1 つだけであり、NULL 値は許可されません。たとえば、ユーザー情報テーブルでは、テーブル内でユーザー名の重複を避けるために、ユーザー名を一意性制約として設定できます。
テーブルの作成時に一意制約を設定する
一意制約は、テーブルの作成時に直接設定できます。通常は主キーを除く他の列に設定できます。優れた。
列を定義した直後に UNIQUE キーワードを使用して、一意制約を指定します。構文形式は次のとおりです:
CREATE TABLE <数据表名>(<字段名> <数据类型> UNIQUE);
例 1
データの作成table tb_dept2, 指定した部門名は一意です SQL文と実行結果は以下のとおりです。
mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_dept2; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(40) | YES | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.08 sec)
テーブル変更時に一意制約を追加する
テーブル変更時に一意制約を追加するための構文形式は次のとおりです。
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
例 2
データテーブル tb_dept1 を変更し、一意の部門名を指定する SQL 文と実行結果は次のとおりです。rree
以上がmysqlに一意制約を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。