すべてのフィールドを入力しないと追加や更新ができないとなると面倒ですよね。CST_CDとCST_NAMEだけで十分ということもあります。
必須にするフィールドはシステムの目的によっても変わってきますので、よく検討してから作るようにしましょう。
しかしプログラミング初心者のうちは、すべて入力する方法をおすすめします。なぜなら未入力を許可するにはSQL文とプログラムを少し工夫する必要があるからです。
例えば必須のフィールドがCST_CDとCST_NAMEだけの場合を考えてみましょう。SEX_CDはラジオボタンなので必ず選択されます。
・本来のSQL文
insert into T04Customer values(11,'山田 太郎',37053,'123','000-000-0000','1978/05/28',0)
・未入力のときプログラムで作成されるSQL文(間違い)
insert into T04Customer values(11,'山田 太郎',,'','','',0)
・正しくは未入力の部分は「null」という特別な値を使います。
insert into T04Customer values(11,'山田 太郎',null,null,null,null,0)
よく見るとnullは「'」シングルクォーテーションで囲まれていません。以下のように書くと間違いです。
insert into T04Customer values(11,'山田 太郎','null','null','null','null',0)
つまりデータが入力されている場合は「'あああ'」、入力されていない場合は「null」となるように「'」を付けたり外したりするプログラムにする必要があります。
また逆にデータベースからnullを含むレコードを取り出すときにもプログラムの修正が必要です。例えば関数cstChange()では、データが入っているときとnullのときで処理を分ける必要があります。TOWN_CDやBIRTHがnullだとそのままではエラーになります。
初心者のうちは長いSQL文を作るだけでも苦労しますから、nullの処理まで考えるとかなり大変です。以上の理由からすべて入力するようにデータチェックを書いていたほうがSQL文やプログラムは簡単になります。