thedb=# create table foo (col1 text, constraint chk check (col1 in 
('a','b','c',null)));
CREATE TABLE
thedb=# insert into foo (col1) values ('xxx');
INSERT 0 1

Hmmmm... I would have thought that this would have violated the constraint 
because 'xxx' is not null and nit one of the allowed values.

Let's try again without that null...

thedb=# create table foo2 (col1 text, constraint chk check (col1 in 
('a','b','c')));
CREATE TABLE
thedb=# insert into foo2 (col1) values ('xxx');
ERROR:  new row for relation "foo2" violates check constraint "chk"
thedb=#

Getting rid of the "null" fixed it.

Is there a different way I can allow for a static set of values AND null too?

Thanks  for any comments !!!

Reply via email to