Best way to allow column to initially be null?

From: Glen Huang <heyhgl(at)gmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org>
Subject: Best way to allow column to initially be null?
Date: 2017-09-30 07:46:38
Message-ID: 0780AF5A-AE89-4255-9857-EC3EF91570A3@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I’m trying to make a column have these properties:

1. When a row is inserted, this column is allowed to be null.
2. When the row is updated, no null can be assigned to it this column.

I initially thought I can drop the not null constraint before insertion and turn it back on after that, but after reading the doc it seems turning on not null constraint requires not columns contain null value, so looks like it won’t work.

My current approach is to not set the not null constraint in the table and use a before update trigger to manually raise exception when the column is null. But it doesn’t seem as elegant.

Is there a better way?

Regards,
Glen

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Berend Tober 2017-09-30 12:51:11 Re: Best way to allow column to initially be null?
Previous Message Andy Colson 2017-09-30 02:04:44 Re: PG 10 and perl