Chairudin Sentosa Harjo <chai@prima.net.id> wrote in message
news:37F319C6.FA5B5536@prima.net.id...
> Dear Friends,
>
> I have a very wierd problem. It should be obvious, but I can't
> understand why.
>
> I am using Postgresql 6.5.2, SuSe 6.2, Pentium III, Kernel Linux 2.2.10.
>
> Please notice the error, it keeps saying ck_ngetest_disc_pin,
> ck_ngetest_disc_country
> is the cause of the problem.
> I have inserted the correct value, but why keep giving error???
>
> The wierdest part is, when I insert a value to field "disc_all", the
> error mentioned
> "ck_ngetest_disc_pin" !!!.... If the constraint was violated, the error
> message
> should be "ck_ngetest_disc_all".
>
>
> create table ngetest
> (
> custnum int8 NOT NULL,
> first_name varchar(15) NOT NULL,
> service_type char NOT NULL,
> sex char NOT NULL,
> detailed_bill char NOT NULL,
> ngetest_status char NOT NULL,
> disc_all char,
> disc_country char,
> disc_pin char,
>
> constraint pk_ngetest PRIMARY KEY (custnum),
>
> constraint ck_ngetest_service_type check
> (service_type = 'Y' or
> service_type = 'N' or
> service_type = 'G' or
> service_type = 'M' or
> service_type = 'O' or
> service_type = 'D'),
>
> constraint ck_ngetest_status check
> (ngetest_status = 'A' or
> ngetest_status = 'I' or
> ngetest_status = 'S' or
> ngetest_status = 'T'),
>
> constraint ck_ngetest_disc_all check
> (disc_all = 'Y' or
> disc_all = 'N'),
> constraint ck_ngetest_disc_country check
> (disc_country = 'Y' or
> disc_country = 'N'),
> constraint ck_ngetest_disc_pin check
> (disc_pin = 'Y' or
> disc_pin = 'N')
> );
>
> insert into ngetest
> (custnum, first_name, service_type, sex, detailed_bill, ngetest_status,
> disc_all)
> values
> (1,'Bob','Y','M','Y','A','Y');
> ERROR: ExecAppend: rejected due to CHECK constraint ck_ngetest_disc_pin
disc_pin is null in this statement and constraint ck_ngetest_disc_pin says
that it can' t be null
Bye
Claudio