一意制約(ユニーク制約)

最終更新日: 2022年10月4日

一意制約とは

この項目に入れる値は、他の行に入っている同じ項目の値と重複しない、ことをアプリケーションが保証する仕組みです。重複する値を登録しようとするとエラーになります。

Wagbyでは「一意制約」と記述していますが、「ユニーク制約」と呼ばれることもあります。

ワンポイント

主キー項目は「必須」かつ「一意制約」と同じ動作をします。主キーではないが、ある項目の値は(このモデルの中で)常に一意でなければならない、という業務ルールがある場合、この設定を使うことができます。

設定方法

単一項目への設定

モデル項目詳細設定ダイアログで「データベースの詳細 > 一意制約をチェックする」に、英文字で一意制約の名前を記述します。

一意制約の設定

複数項目への設定

複数の項目に同じ一意制約を設定することができます。これらの項目のペアが重複しない、ことを保証します。

複数の項目に同じ一意制約を設定する(1)
複数の項目に同じ一意制約を設定する(2)

仕様・制約

  • 「値をデータベースに保存する」が有効となっている必要があります。(一意制約はデータベースでチェックする機能です。)
  • 一意制約名に利用できる文字は英文字(大文字、小文字)、アンダースコア ('_')、数字の組み合わせです。ひらがな、カタカナ、漢字、その他全角の記号を利用することはできません。
  • 一意制約は項目の作成と同時に設定してください。一度ビルドすると、そのあとで一意制約を設定(または解除)することはできません。
  • 一意制約名の長さは32文字以内としてください。

エラーの扱い

データの登録(または更新)時に一意制約に違反した場合、更新エラーとなります。この場合、データは保存されません。

"データベースへの登録処理に失敗しました。すでに使用済みのキーを用いて、登録処理を行おうとしました。" というエラーメッセージが表示されます。

一意制約エラーメッセージ