複合キーによる枝番
最終更新日: 2022年7月21日
R8 | R9
主キー「ID」は自分で入力する方式としています。
登録・更新画面では枝番は自動的に非表示となります。
枝番は、主キーの値ごとに管理されています。IDの値が変われば、枝番は1になります。
この枝番指定は「主キーとして利用する」が有効でないと機能しません。
主キーに順序を用いる(自動採番)が、コピー登録時は順序を使わない設定と併用することで「コピー登録時のみ(主キーの重複が発生するため)枝番が付与される」という例を説明します。
枝番を 1,2,3,... という整数値ではなく、A,B,C,... というアルファベット表記にする例です。
各項目の詳細な設定は次のとおりです。
Wagbyは一部の機能で複合キーモデルを利用できないことがあります。
式の組み合わせではなく、スクリプトで実現することもできます。[詳細...]
主キーの手動入力
例
注意
本設定では、同じIDで複数データを登録した際に枝番が付与される動作を実現しています。
定義方法
ID項目は「文字列」型とします。
自動採番のための「順序を利用する」のチェックをはずし、「開始番号」も空白とします。
「主キーとして利用する」にチェックを入れます。
また、「枝番として利用する」を有効にし、開始番号は1とします。
重要
(枝番を利用するモデルは、必ず複合キーになります。)
コピー登録時に枝番を付与する
例
データを1件登録します。
コピー登録では順序を使わない設定としているため、「ID」はコピー元と重複することになります。
定義方法
ただし、同時に「コピー登録時は順序を使わない」設定を有効にしています。
制約
枝番をアルファベット表記とする
例
定義方法
最初の「ID」は登録・更新画面で表示されます。
もう一つの「ID」は表示用で、計算式によって枝番を末尾に結合した形で表示させるようにします。
項目名
項目ID
型
主キー
枝番
順序
開始番号
DB保存
入力時隠し
出力時隠し
ID
ID
文字列
○
-
-
-
○
-
○
枝番(隠し)
branchid
数値
○
○
-
1
○
○
○
ID
IDshow
文字列
-
-
-
-
-
○
-
CONCATENATE(${ID},A1FORMAT(${branchid}-1))
複合キーによる制約を回避したい場合
この制約を回避するために「単一キーで絞込機能を応用した枝番」を設定することもできます。
関連するページ