一意制約(ユニーク制約)最終更新日: 2021年5月20日

一意制約とは

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

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

ワンポイント

主キー項目は「必須」かつ「一意制約」と同じ動作をします。Wagbyの主キーは常に ID という名前の項目に限るルールのため、ある項目に主キーと同じ制約を付与したい場合、その項目を「必須」かつ「一意制約」を設定するとよいでしょう。

設定方法

単一項目への設定

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

一意制約の設定

複数項目への設定

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

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

仕様・制約

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

エラーの扱い

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

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

一意制約エラーメッセージ (SPA UI)