5.3. デフォルト値

列にはデフォルトの値を割り当てることができます。 新しく作成された行のいくつかの列に値が指定されていない場合、そうした空欄にはそれぞれの列のデフォルト値が入ります。 データ操作コマンドを使用して、列をデフォルト値 (それがどのような値かを知らなくても) に設定するように明示的に要求することもできます。 (データ操作コマンドの詳細については第6章を参照してください。)

明示的に宣言されたデフォルト値がない場合は、NULL値がデフォルトになります。 NULL値は不明のデータを表すものと考えることができるので、通常はこの方法で問題ありません。

テーブル定義では、デフォルト値は列データ型の後に列挙されています。 例を示します。

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric DEFAULT 9.99
);

デフォルト値をスカラ式にすることができます。 スカラ式は、デフォルト値が挿入される度に評価されます。 (テーブルの作成時ではありません。)