Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 07/07/2014 12:23:27
- beugbamba
- Membre
Problème d'incrémentation
Bonjour à tous
Depuis trois j'ai un gros sur mes tables principaux j'ai une erreur du genre:
CEST ERREUR: entier en dehors des limites
dans mes logs.
J'ai pris beaucoup de temps pour comprendre le problème. C'est juste que mon primaire key a attend sa taille maxi .
et Comme je faisais des deletes sans mettre a jour la clé ID qui est en int a atteint sa taille maximale .
Pouvez m'aider a faire un update me permettant de reprendre les id primaire key de 1
Hors ligne
#2 07/07/2014 13:49:11
- beugbamba
- Membre
Re : Problème d'incrémentation
j'ai trouvé une solution du genre Update base set colonne = colonne - (colonne-1);
La solution marche bien mais j'aurais une autre question du genre dans les configures de Postges est ce qu'on peut pas configurer si un colonne est au max de rebouclé
Hors ligne
#3 07/07/2014 21:48:07
- gleu
- Administrateur
Re : Problème d'incrémentation
Une séquence boucle par défaut. Il faudrait donc connaître la définition de la table et celle de la séquence associée pour en savoir plus.
Guillaume.
Hors ligne
#4 08/07/2014 10:48:08
- beugbamba
- Membre
Re : Problème d'incrémentation
Bonjour
Gleu pouvez m'expliquer beaucoup plus claire le boucle par défaut.
J'ai trouvé une petite explication en rapport avec sa ALTER SEQUENCE serial RESTART WITH 105; de recommencer le déconte quand sa sa arrive a 105;"
Hors ligne
#5 08/07/2014 11:23:14
- beugbamba
- Membre
Re : Problème d'incrémentation
Après avoir regarder de gauche a droit j'ai pense faire un truc du genre :
CREATE TABLE books
(
id bigserial NOT NULL,
isbn character varying(25) NOT NULL,
title character varying(250) NOT NULL,
author bigint,
price money,
CONSTRAINT books_pkey PRIMARY KEY (id),
CONSTRAINT books_author_fkey FOREIGN KEY (author)
REFERENCES authors (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT books_isbn_key UNIQUE (isbn)
)
WITHOUT OIDS;
ALTER TABLE books OWNER TO postgres;
CREATE SEQUENCE books_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER SEQUENCE books_id_seq RESTART WITH 9223372036854775807;.
Que pensez vous ?
Hors ligne
#6 08/07/2014 16:14:52
- beugbamba
- Membre
Re : Problème d'incrémentation
J'ai une question simple peut-ton creer un Sequence sur table qui a été creer
Hors ligne
#7 08/07/2014 17:47:26
- rjuju
- Administrateur
Re : Problème d'incrémentation
Vous pouvez rajouter une séquence sur une table existante, il suffit de modifier de spécifier un DEFAULT nextval('nom_sequence') sur la colonne. Par contre si vous n'aviez pas de séquence avant, il faudra modifier vos application afin qu'elles utilisent la séquence plutôt que de calculer la valeur. De plus, dans votre exemple vous avez utilisé bigserial, ce qui correspond a une sequence pour un bigint, pas un int.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1