DEFAULT confusion - Mailing list pgsql-sql

From Hroi Sigurdsson
Subject DEFAULT confusion
Date
Msg-id 37D5CC72.9A7CBD49@ninja.dk
Whole thread Raw
Responses Re: [SQL] DEFAULT confusion  (Herouth Maoz <herouth@oumail.openu.ac.il>)
Re: [SQL] DEFAULT confusion  ("Ross J. Reedstrom" <reedstrm@wallace.ece.rice.edu>)
List pgsql-sql
Hello postgresql'ers (how do you pronounce that?).

Suppose i have the following sequence, table and index:

CREATE SEQUENCE stuff_seq; 
CREATE TABLE stuff (       id      INTEGER DEFAULT NEXTVAL('stuff_seq') NOT NULL,       name    TEXT,       number
INTEGER
);
CREATE UNIQUE INDEX stuff_id ON tabel(id); 

Then to properly insert rows i have to

INSERT INTO tabel VALUES (NEXTVAL('tabel_seq'), "sometext", 123);

I can't just
INSERT INTO tabel VALUES (NULL, "something", 123);

Then what is the point of the DEFAULT clause? In other words: How do I
get away with not specifying anything for id? And how (if
possible/recommendable) do I force the id value to be nothing but
NEXTVAL('stuff_seq'), ie. not just an arbitrary number?

In short I want to emulate MySQL's way of doing
CREATE TABLE(       id      INT NOT NULL AUTO_INCREMENT,       name    TEXT,       int     INT,       UNIQUE(id)
);

I hope I made myself sufficiently clear.

Thank you for your time.


PS.
Where can I get more information about the REFERENCES keyword and when
will it be fully working in Postgres?
PPS.
Are there any books out there that cover Postgresql?
-- 
Hroi Sigurdsson
hroi@ninja.dk


pgsql-sql by date:

Previous
From: Hroi Sigurdsson
Date:
Subject: DEFAULT confusion
Next
From: "Rudolph, Michael"
Date:
Subject: Failed Regression Tests due to SQL-Errors