2フィールド間ユニーク制約
機能概要
DBにレコードを登録する際に、2つのフィールドの組み合わせが既にDBに存在する場合に、エラーを表示し登録を制御することができます。
例えばセミナー受付フォームから登録を受け付ける際、セミナー名と申込者名が同一の組み合わせは1度しか登録を受け付けたくない場合などに活用できます。
機能仕様
設定可能なフィールドタイプ
・入力必須かつユニーク制約が設定可能なフィールドタイプ
※セレクト、マルチセレクト、ファイル、パスワード、参照フィールド(複数レコード)、ユーザフィールドは設定できません。
指定可能なフィールドの条件
・入力必須のフィールド
・ユニーク制約が設定されていないフィールド
2フィールド間ユニーク制約を設定したフィールドの制限事項
・入力必須は解除できません。
・単一のユニーク制約は設定できません。
・デフォルト値の固定値では設定できません。
・対象フィールドは削除できません。
その他
・2フィールド間ユニーク制約は1DBにつき1設定まで、1設定につき2フィールドまで設定可能です。
・2フィールド間ユニーク制約を設定する際に既存レコードが存在する場合、既存レコードに重複するものが無いかチェックします。
重複するレコードが存在する場合はエラーとなり、2フィールド間ユニーク制約は設定できません。
・アプリ利用からのレコード登録/更新、一括登録/更新/登録更新は、2フィールド間ユニーク制約のエラーメッセージを表示します。
エラーメッセージ「他のレコードと値が重複しています。(このフィールドは2フィールド間ユニーク制約が設定されています)」
・2フィールド間ユニーク制約を設定したフィールドにフィールドのデフォルト値(自動生成)を設定している場合、
自動生成した値が既存レコードと重複する場合はエラーとなります。
・サイト管理からのレコード登録/更新の場合は、単一ユニークと同じエラーメッセージを表示します。
エラーメッセージ例「入力した値は登録できません」
※フォームの共通タブより設定している重複不可のエラーメッセージ、またはフォームに適用しているデフォルトメッセージが表示されます。
※2フィールド間ユニーク制約を設定しているフィールドをフォームの自動登録に設定し、フォームから登録しようとしているデータが重複する場合、確認ステップから送信ボタンを押下した際にフォームのエラーステップが表示されます。
デフォルトのエラーメッセージ「エラーが発生しました。ブラウザを閉じ、再度アクセスしてください。」
操作画面:2フィールド間ユニーク制約の設定手順
DB作成時に設定する場合
1.DB作成
アプリ管理>DB>「+」ボタン>基本設定より表示名等を入力し「次へ」ボタンをクリックします。
DB作成の手順について詳しくはDB機能をご参照ください。
※DB作成には事前にアプリ作成が必要になります。
2.フィールド構成設定
左上「+」ボタンもしくは「歯車マーク」>「他DBフィールドコピー」からDBに設定するフィールドを追加し、表示名・識別名・タイプを設定します。
2フィールド間制約を設定するフィールドの「必須」のチェックボックスにチェックを入れます。
3.ユニーク詳細設定
左上「歯車マーク」>「ユニーク詳細設定」からユニーク詳細設定モーダルを開きます。
2フィールド間制約を設定するフィールドの「2フィールド間制約」のチェックボックスにチェックをいれ、「反映」ボタンをクリックします。
4.設定完了
設定が完了するとユニーク列が「*」と表示されます。
フィールド詳細設定ではユニーク制約に「「(2フィールド間ユニーク制約を設定しているもう1方のフィールド名)」のフィールドと2フィールド間ユニーク制約が設定されているため、ユニーク制約を設定できません。」と表示されます。
解除したい場合はユニーク詳細設定より「2フィールド間制約」のチェックを外してください。
既存DBに設定する場合
1.DB選択
アプリ管理>DB>DB一覧より該当DBの編集画面を開きます。
2.ユニーク詳細設定
左上「歯車マーク」>「ユニーク詳細設定」からユニーク詳細設定モーダルを開きます。
2フィールド間制約を設定するフィールドの「2フィールド間制約」のチェックボックスにチェックをいれ、「保存」ボタンをクリックします。
3.設定完了
設定が完了するとユニーク列が「*」と表示されます。