Re: two not null columns

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: two not null columns
Date: 2008-04-14 16:44:40
Message-ID: 20080414164439.GA8035@KanotixBox
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Garry Saddington <garry(at)schoolteachers(dot)co(dot)uk> schrieb:

> How would I write a table check constraint to make sure that two columns don't
> both have nulls at the same time.
> The following doesn't do it because it because it does not allow one column to
> be null while the other holds data?
>
> check(teachgroup is not null AND set is not null)

test=# create table not_null (a int, b int, check((a is not null) or (b is not null)));
CREATE TABLE
test=*# insert into not_null values (1,1);
INSERT 0 1
test=*# insert into not_null values (1,NULL);
INSERT 0 1
test=*# insert into not_null values (null,2);
INSERT 0 1
test=*# insert into not_null values (null,null);
ERROR: new row for relation "not_null" violates check constraint "not_null_check"

Regards, Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknow)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Garry Saddington 2008-04-14 17:04:29 Re: two not null columns
Previous Message Garry Saddington 2008-04-14 16:32:52 two not null columns