现在我想创建一个表,其中ID字段自动递增1,基数是1001,自增1,请问如何实现?

解决方案 »

  1.   

    正规的做法是创建一下SEQUENCE 
    CREATE SEQUENCE serial START 1001;然后创建表的时候,指定nextval('serial.nextval')为默认值,或者创建这个 触发器,在触发器中使用这个 serial.nextval
      

  2.   

    但PSQL中你可以直接使用它的快速方法。SERIAL数据类型。CREATE TABLE tablename (
        colname SERIAL
    );但在实际操作的时候PSQL会自动翻译为
    CREATE SEQUENCE tablename_colname_seq;
    CREATE TABLE tablename (
        colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
    );
    ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
      

  3.   

    create table tablename
    ( id serial)select setval(pg_get_serial_sequence('tablename', 'id'),1001)