Re: pg and number of parameters by insert - Mailing list pgsql-general

From pginfo
Subject Re: pg and number of parameters by insert
Date
Msg-id 3DEDCDDE.FB06737D@t1.unisoftbg.com
Whole thread Raw
In response to pg and number of parameters by insert  (pginfo <pginfo@t1.unisoftbg.com>)
List pgsql-general
Hi,
Hmm, Ok I try to explain:

If I write: insert into table_1  values ('f1_value',10);

It is error because I try to insert 2 fields in 3-fields table. The reason is that
I can make write error.

If I write : insert into table_1 (field_1,field_2)  values ('f1_value',10); It is
no problem because I have specified exact the
inserted fields and I have one missing and it is not NOT NULL.

The problem is that pg do not report the first error.
And as I wrote oracle, MS SQL and mySQL reports correct the error.

I think this bug is potencial ground for many errrs by developing.

regards,
ivan.




Jean-Christian Imbeault wrote:

> pginfo wrote:
> >
> > If I write
> >  insert into table_1 (field_1,field_2)  values ('f1_value',10);
> > and field_3 is not declared as NOT NULL it will be correct for pg to execute
> > it without any massage.
> >
> > Is it so?
>
> That's right. If you do not declare the column with a constraint of NOT
> NULL, then it is not an error to do:
>
> insert into table_1 (field_1,field_2)  values ('f1_value',10);
>
> Why should this query throw an error? You are asking the DB to insert
> values into a row. There are no constraints on any of the columns so the
> DB is quite happy to do what you ask.
>
> If you want to make it mandatory for an insert to specify a value for a
> column then you MUST have a constraint on that column of NOT NULL.
>
> Jc




pgsql-general by date:

Previous
From: Jean-Christian Imbeault
Date:
Subject: Re: pg and number of parameters by insert
Next
From: Thomas Beutin
Date:
Subject: Re: problem starting postgresql i.e postmaster