Re: [INTERFACES] Autoincrement
От | Federico Passaro |
---|---|
Тема | Re: [INTERFACES] Autoincrement |
Дата | |
Msg-id | 35AF305B.14B1124B@link.it обсуждение исходный текст |
Ответ на | Re: [INTERFACES] Autoincrement ("Antonio Garcia Mari" <agarcia@at4.net>) |
Список | pgsql-interfaces |
Antonio Garcia Mari wrote: > > Hi, is there a way to do a field that can automatically increment itself, > > like in paradox or dbase? > > > > this is a hack, but it works... > > CREATE SEQUENCE key_s INCREMENT 1 START 1; > CREATE TABLE cliente ( > key int4 NOT NULL DEFAULT nextval('key_s') PRIMARY KEY, > name varchar(100) UNIQUE NOT NULL, > username varchar(8) NOT NULL > ); > Antonio Garcia Mari > Mallorca (Spain) You are right, but it's better to put the autoincrementing field as the last one like in: CREATE TABLE cliente ( name varchar(100) UNIQUE NOT NULL, username varchar(8) NOT NULL , key int4 NOT NULL DEFAULT nextval('key_s') PRIMARY KEY, ); This way you can use the sintax insert into cliente values ('JACK', 'postgres'); in place of insert into cliente (name, username) values ('JACK', 'postgres'); A more robust solution is to use a trigger. Look at the files <PostGreSQL source dir>/contrib/spi/autoinc.* federico
В списке pgsql-interfaces по дате отправления: