Re: Inserts with incomplete rows... NOT NULL constraints

From: Richard Huxton <dev(at)archonet(dot)com>
To: Lars Erik Thorsplass <thorsplass(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Inserts with incomplete rows... NOT NULL constraints
Date: 2004-08-11 13:34:15
Message-ID: 411A2057.60109@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Lars Erik Thorsplass wrote:
> The problem am now facing is that postgres will try to insert a NULL
> value for fields not specified in the insert query and that are
> defined as NOT NULL in the table structure. Is this the correct
> behaviour?

Actually, what it's doing is inserting the DEFAULT value for the field
in question. If you don't specify a DEFAULT, it assumes null.

# CREATE TABLE test_tbl (a integer, b text DEFAULT 'bbb', c text);
# INSERT INTO test_tbl (a) VALUES (1);
# SELECT * FROM test_tbl;
a | b | c
---+-----+---
1 | bbb |

If you specify NOT NULL and don't want to provide a value you'll need to
set a DEFAULT.

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message David Garamond 2004-08-11 14:11:50 Displaying two tables side by side
Previous Message Peter Eisentraut 2004-08-11 13:02:08 Re: Inserts with incomplete rows... NOT NULL constraints