一意制約を加えるSQL文

応用情報技術者試験で出てきた次のSQL文の解説を書いて見たいと思います。

特定の条件で一意制約を加えるというものです。

SQL文|令和4年春 午後 問6

ALTER TABLE クーポン明細 ADD CONSTRAINT クーポン明細_IX1 UNIQUE(クーポンコード, 獲得会員コード, 獲得制限_1枚限り)
ALTER TABLE クーポン明細

この部分で変更を加えるテーブルを指定しています。

ADD CONSTRAINT クーポン明細_IX1

ADD CONSTRAINTで新たな制約をテーブルに追加するための命令をしています。そしてその制約に名前(クーポン明細_IX1)がつけられています。
ちなみにIXは監修としてインデックスの略であることが多く、1はおそらく最初のものという意味だと思います。

UNIQUE(クーポンコード, 獲得会員コード, 獲得制限_1枚限り)

ここでこの3つのカラムの組み合わせがテーブル内で一意になるという制約を指定しています。
例えば以下の二行はユニーク制限になりません。

クーポンコード獲得会員コード獲得制限_1枚限り
11Y
12Y

しかし以下の二行はユニーク制限にかかり存在できなくなります。

クーポンコード獲得会員コード獲得制限_1枚限り
11Y
11Y

ALTER TABLEとUPDATEの違い

UPDATE文はテーブル内のデータを更新する際に使用します。
ALTER TABLE文はテーブルの構造を変更するために使用します。
構造を変更するとは
・新しいカラムの追加
・既存カラムの削除、変更
・制約の追加、削除
などが含まれます。


投稿日

カテゴリー:

, ,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)