Bonjour,
je suis confronté à un probleme que je n'arrive pas a resoudre :
au lancement du script de ma base dont voici un exemple ci-dessous
Pas de souci pour la creation de la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE unites_unt ( unt_id serial NOT NULL, unt_nom character varying(50) NOT NULL, unt_symbole character varying(5) NOT NULL, unt_position integer NOT NULL, CONSTRAINT cont_unt_id PRIMARY KEY (unt_id) ) WITH (OIDS=FALSE);
la sequence du champs serial est bien créée
je lance une serie de requetes du type :
Lorsque je lance une requete sans préciser l'Id du nouvel enregistrement, pSQL me retourne une erreur du type violation de contrainte sur le champs unt_id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (1, 'Le forfait', 'Ft', 1); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (2, 'L''unité', 'U', 2); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (3, 'Le centimètre', 'Cm', 3); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (4, 'Le décimètre', 'Dm', 4); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (5, 'Le mètre', 'M', 5); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (6, 'L''hectomètre', 'Hm', 6); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (7, 'Le kilomètre', 'Km', 7); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (8, 'Le mètre carré', 'M2', 8); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (9, 'L''are', 'A', 9); INSERT INTO unites_unt (unt_id, unt_nom, unt_symbole, unt_position) VALUES (10, 'L''hectare', 'Ha', 10); ...
Et en effet, lorsque je vérifie la sequence, celle-ci ne s'est pas incrémentée de 1
Lorsque j'affiche les propriétés de la séquence dans pgAdmin, j'ai :
Alors que je devrais avoir la propriété START = 11 puisque j'ai 10 enregistrements dans la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
La sequence ne fontionne pas, enfin, je ne vois pas d'autre explication
Y aurait-il quelqu un qui pourrait m'expliquer ce phénomène ?
Merci
Partager