• [^] # Re: nextval()

    Posté par . En réponse au message PHP, PDO, Postgresql, SERIAL, et DEFAULT. Évalué à 1.

    Il faut utiliser une séquence et la fonction nextval() :

    CREATE SEQUENCE my_seq
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;

    CREATE TABLE test(
    test_id integer NOT NULL DEFAULT nextval('my_seq'::regclass),
    test_val text
    );

    insert into test (test_val) VALUES ('1');
    insert into test (test_val) VALUES ('2');
    insert into test (test_val) VALUES ('3');

    select * from test;

    test_id | test_val
    1 | 1
    2 | 2
    3 | 3


    Par contre il faut toujours laisser la valeur par défaut. Si tu rentres une valeur à la main, la séquence ne va pas suivre.