From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Chris Sterritt <chris(dot)sterritt(at)yobota(dot)xyz> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Check constraints do not seem to be working!!! |
Date: | 2020-11-11 08:41:30 |
Message-ID: | CAFj8pRA2f3ttP8zUugwMjfyF7bc3RBAD6S_Sw-ZZPVziXRDnQg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
st 11. 11. 2020 v 9:38 odesílatel Chris Sterritt <chris(dot)sterritt(at)yobota(dot)xyz>
napsal:
>
> On 11/11/2020 06:44, Jitendra Loyal wrote:
>
> Consider this table definition:
> create table t ( i serial, b bool, c bool,
> constraint b_c check ( (b = true and c is
> not null ) or (b is distinct
> from true and c is null) )
> constraint b_c check ( (b = true and c is
> not null ) or (b = false and c
> is null) or (b is null and c is null) )
> );
> Despite the above two constraints, the following rows get into the table:
> insert into t (b , c) values (null, true), (null, false);
>
>
> (b = TRUE AND c IS NOT NULL) evaluates to null when b is null
>
>
yes, constraint is violated only when result is false, no when it is null.
Regards
Pavel
> Cheers,
> Chris Sterritt
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Nikolay Samokhvalov | 2020-11-11 08:48:36 | Re: Check constraints do not seem to be working!!! |
Previous Message | Chris Sterritt | 2020-11-11 08:38:28 | Re: Check constraints do not seem to be working!!! |