テーブルのカラムに一意性制約を作成・削除するSQL

ここではMySQLで、テーブルのカラム(列)に一意性制約を作成・削除するSQLを紹介しています。

テーブルやインデックス、カラムの一覧の確認方法で紹介していますので参考にしてください。
>>【MySQL】テーブルの一覧を確認するSQLコマンド
>>【MySQL】インデックスの一覧を確認するコマンド
>>【MySQL】テーブルの定義・列名を確認するSQLコマンド

テーブルのカラムに一意性制約を作成するSQL

テーブル作成時にUNIQUE句を指定することで、一意性制約設定を行うことが出来ます。

次のSQLでは、COL1列に一意性制約を設定しています。

CREATE TABLE tab1
(col1 int NOT NULL UNIQUE
);

次のSQLでは、col1列を使って一意性制約を設定しています。

CREATE TABLE tab1
(col1 int NOT NULL
 ,col2 int NOT NULL
 UNIQUE(col1)
);

一意性制約を追加するSQL

テーブル作成後にUNIQUE句を指定する場合は、ALTER TABLE文を使います。

次のSQLでは、COL1列に一意性制約を設定しています。

ALTER TABLE tab1
ADD UNIQUE tab1_unique(col1);

テーブルの一意性制約を削除するSQL

一意性制約を削除するときは、ALTER TABLE文を使います。

ALTER TABLE テーブル名
DROP UNIQUE 主キー名;

次のSQLでは、TAB1テーブルの一意性制約tab1_uniqueを削除しています。

ALTER TABLE tab1
DROP UNIQUE tab1_unique;