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
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);
Pas de souci pour la creation de la table
la sequence du champs serial est bien créée
je lance une serie de requetes du type :
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);
...
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.
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 :
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;
Alors que je devrais avoir la propriété START = 11 puisque j'ai 10 enregistrements dans la table
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