データベースを理解する 014「初期値」

社員テーブルの定義が以下の通りとなっています。

【定義】
社員番号:文字列型の4文字(一意性制約あり), not null
社員名 :文字列型の50文字,not null
入社日 :日付型,not null
退職日 :日付型
登録日 :日付型,not null
更新日 :日付型

改めて、新たに社員が入ってきた社員のデータを登録します。
データは以下の通りです。
・社員番号=1846
・社員名=C田 W三
・入社日=2018-03-16

登録日にnot null制約が付与されているので、何か値を入れる必要があります。しかしながら、登録日に入れる日付は入力者が指定するまでもなく処理当日の日付です。むしろ、他の日が入るのは困ります。

何もしない時の処理として、
nullではなく、特定の値を入れられれば便利ですね。

* * * * * *

テーブルでは、初期値の設定が可能です。
登録時に値を指定しない場合に、nullではない値を入れることができます。
ここでは登録日の初期値として当日日付を設定します。

【定義】
社員番号:文字列型の4文字(一意性制約あり), not null
社員名 :文字列型の50文字,not null
入社日 :日付型,not null
退職日 :日付型
登録日 :日付型,not null,初期値=当日日付←追加
更新日 :日付型

これにより、入力者が値を指定しない場合に、自動で当日日付が入ります。
入力者が値を指定して、当日日付以外の値を入れることも可能です。

「9割はA、それ以外はB」というような項目があれば初期値の設定を検討してみましょう。

この記事が気に入ったらサポートをしてみませんか?