SQLで特定のフィールド値をユニークに設定する方法
SQLのUNIQUE制約は特定の列の値を一意に設定します。UNIQUE制約は、テーブル内の特定の列のすべての値が一意であり、重複しないことを保証します。テーブルの作成時には、列定義でUNIQUEキーワードを使用して特定の列に一意制約を設定できます。たとえば、
CREATE TABLE 表名 (
字段名 数据类型 UNIQUE,
… );
また、既存のテーブルに対してALTER TABLE文を使用して一意制約を追加することもできます。 例えば、
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);
また、UNIQUE 制約を設定すると自動的に一意インデックスの作成が行われ、一意値の検索や検証が高速化されます。このとき、テーブル作成時または制約追加時にインデックス名を指定しなかった場合は、システムによってインデックス名が自動生成されます。さらに、複数のフィールドの組合せ値を一意とする場合は、UNIQUE 制約の中に複数のフィールド名を指定します。以下に例を示します。
CREATE TABLE 表名 (
字段名1 数据类型,
字段名2 数据类型,
…
UNIQUE (字段名1, 字段名2) );
あるいは、ALTER TABLE文を使用して一意制約を追加します。
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名1, 字段名2);
これにより、表内のこれらのフィールドの組み合わせの値は一意になります。