On Saturday, May 28, 2005, at 03:27 PM, Bruno Wolff III wrote:
> On Sat, May 28, 2005 at 14:27:17 -0300,
> David Pratt <fairwinds@eastlink.ca> wrote:
>> Pretty basic question. Is it necessary to add NOT NULL or UNIQUE NOT
>> NULL to SERIAL or is this implicit and unnecessary?
>
> Serials no longer generate a uniqie index by default. So in practice
> you will normally want to declare them as PRIMARY KEYs. However there
> are cases where you don't need this and the index is extra overhead.
>
Alright. so would it be better form for me to to this in a
create_tables.sql
CREATE TABLE new_table (
id SERIAL,
description TEXT NOT NULL
);
And then in a create_primary_keys.sql do this for the tables requiring
it.
ALTER TABLE new_table ADD CONSTRAINT new_table_pkey PRIMARY KEY (id);
Does the PRIMARY KEY declaration ensure that the id values are unique?
Serial should always give me an incremented value that's different so I
am assuming it is unnecessary to use UNIQUE. Am I correct?
Regards,
David