2012-04-02 37 views
1

我正在使用postgresql,并且想要自动生成一个数据类型为'serial'的数据类型(从1000开始并且步数为100)。sql中的串行数据类型

我该怎么做的任何帮助?

+0

相同的顺序是什么?另外,你为什么用SQL-Server标记问题? (SQL-Server是Microsoft DBMS) – Skrol29 2012-04-02 07:30:22

+0

您是否要求自定义增量步骤和起始值的自动增量ID列? – cctan 2012-04-02 07:41:34

+0

hey 试试这个http://www.postgresql.org/docs/8.1/static/sql-createsequence.html和这个http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/PostgreSQL_x14316_001.htm和http: //www.java2s.com/Code/PostgreSQL/Sequence/Getnextsequencevalue.htm ..你可以使用sequence来递增值,在这里你可以指定'start'值和'increment'这样的值' CREATE SEQUENCE my_id_seq START 1000 INCREMENT 100;' – PresleyDias 2012-04-02 07:48:07

回答

3

PostgreSQL对此有非常好的文档。您可以创建序列: http://www.postgresql.org/docs/current/static/sql-createsequence.html ,然后创建表SERIAL列: http://www.postgresql.org/docs/current/static/datatype-numeric.html#DATATYPE-SERIAL

CREATE SEQUENCE my_table1_seq START 1000 INCREMENT 100; 
CREATE TABLE table1 (id integer NOT NULL DEFAULT nextval('my_table1_seq'), txt varchar(1000)); 
INSERT INTO table1 (txt) VALUES ('zorro1'); 
INSERT INTO table1 (txt) VALUES ('zorro2'); 
INSERT INTO table1 (txt) VALUES ('zorro3'); 
SELECT * FROM table1;