SQLで一意制約(UNIQUE)の追加及び削除

2011/01/25 15:44Update
TAGS: SQL | 一意制約 | ADD UNIQUE | DROP INDEX

一意制約(UNIQUE)の追加及び削除について学びます。

■ SQLで一意制約(UNIQUE)の追加
ALTER TABLE talbe_name ADD [CONSTRAINT [symbol]] UNIQUE [index_name] (col_name,...)


■ SQLで一意制約(UNIQUE)の削除
ALTER TABLE talbe_name DROP INDEX index_name

※一意制約(UNIQUE)の削除の場合は DROP UNIQUE ではなく、上記の通り DROP INDEX で削除を行います。
※Oracleの場合の削除方法:DROP INDEX index_name

単一の列による一意制約の場合


例えば、次のようなテーブルがあるとします。
◇ HUSBAND(ID, NAME, WIFE_ID)

HUSBANDテーブルの削除について、次の記事をご参照ください。
SQL入門その6 - テーブルの作成CREATE TABLE文の基本的な使い方

■ 一意制約(UNIQUE)を追加
テーブルHUSBANDのWIFE_IDに一意制約(UNIQUE)を追加します。
ALTER TABLE HUSBAND ADD UNIQUE (WIFE_ID)


■ UNIQUEを削除の場合:
ALTER TABLE HUSBAND DROP INDEX WIFE_ID

※Oracleの場合の削除方法:DROP INDEX インデックス名

複数の列による一意制約の場合



例えば、
テーブルCOUPLE(ID, REGIST_DATE, HUSBAND_ID, WIFE_ID)に一意制約(HUSBAND_ID、WIFE_ID)を追加します。

■ 一意制約(UNIQUE)を追加
ALTER TABLE COUPLE ADD UNIQUE un_hus_wife(HUSBAND_ID, WIFE_ID)


■ その制約を削除の場合
ALTER TABLE COUPLE DROP INDEX un_hus_wife

※Oracleの場合の削除方法:DROP INDEX インデックス名

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments