PostgreSQL自动增量默认值

时间:2012-11-30 16:53:12

标签: sql database postgresql pgadmin

  

可能重复:
  Increment value of a table ID for each INSERT

我需要在一个表上设置DEFAULT VALUE,

结构:

column1    |     column2     |   column3
-----------+-----------------+-------------
10001      |      chair      |     23
10002      |      lamp       |     10

如果我

INSERT INTO column2和column3值(花瓶,30),column1将自动增量值10003,每次+1值。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:3)

您需要: 1)创建一个序列。详情here

CREATE SEQUENCE seq_name -- sequence name
START 10003 -- value for the next row 

2)将nextval('seq_name')设为列column1的默认值。详情here

ALTER TABLE table_name
ALTER COLUMN column1
SET DEFAULT nextval('seq_name');

UPD SQLFiddle示例。