Richard Broersma Jr wrote on 22.09.2006 21:25:
I am sure this is simple, but I don't get it. I am new to PGSQL, coming from
MySQL - in mysql, you can autoincrement the primary key; in postgre, I am
not sure how to do this. I have read the documentation, and tried "nextval"
as the default - I have searched for the datatype SERIAL, but I am using
navicat and this datatype is not supported. Can someone tell me how to do
this - I just want the integer value for a primary key to autoincrement by
one.

CREATE TABLE bar (id    SERIAL PRIMARY KEY);


Is just shorthand notation for:

CREATE SEQUENCE foo START 1;
CREATE TABLE bar (id integer PRIMARY KEY DEFAULT nextval('bar'));


Well the shorthand notation has a minor gotcha: you cannot drop the sequence that has been created automatically. Only if you drop the column itself. Should not be a problem, but it is a difference between a SERIAL PRIMARY KEY definition and the "verbose" mode

Thomas


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to