[perl][Postgresql] probleme d'ID unique[Résolu]

Je suis actuellement en stage et je developpe une application de trie/archivage de mail.J’utilise un serveur postfix avec un filtre sur les messages entrants écrit en perl (interception des messages, écriture d’un fichier xml contenant l’ entete,le corp et les eventuelles pieces jointes du mail)=> cette partie est opérative.

Maintenant, je doit archiver le mail dans une base de donnée contenant plusieurs tables (action, societe, interlocuteur)
base postgresql, modules perl DBI, DBD:Pg et XML::Twig le parser xml
Mon probleme est le suivant :
Chaque table de la BDD(postgresql) contient un champ CODE qui est la clé primaire et qui est unique.
Je voudrais savoir s’il existe une methode qui nous permette d’obtenir une clé non utiliséede la table.
Merci

cette clé n’est pas en auto-incrément ?

OulaOula!!!
J’ai oublié de préciser peut-etre…Je suis totallement novice en BDD et encore plus postgres…
cette option d’auto-increment rajoute automatiquement un id unique a chaque nouvelle ligne?Comment passer une variable en auto-increment…

Merci bien!

Il faut que ton type de champ soit un auto-incrément. Ensuite tu as un expression pour dire de prendre la prochaine valeur.

salut,

en PostgreSQL, c’est le type SERIAL.
ensuite quand tu rajoutes un enregistrement,

la valeur default donne sur un champ serial la prochaine valeur incrémentée.
pour gérer finement l’incrémentation (par ex commencer à 2, incrémenter de 10 à chaque fois etc), chaque champ serial est géré par une séquence, que tu peux modifier , et grâce à laquelle tu peux récupérer des infos (genre à quel numéro on en est etc…) -> voir la doc officielle de postgres sur les séquences.

Merci a toi ValAa, je faisait jusque la un test pour récuperer le max ID et l incrementer manuellement (la requete n’etait pas dédiée a cela) je vais utiliser ta methode plus "propre"
Merci a vous! Probleme résolu

[quote=“zildjian”]Merci a toi ValAa, je faisait jusque la un test pour récuperer le max ID et l incrementer manuellement (la requete n’etait pas dédiée a cela) je vais utiliser ta methode plus "propre"
Merci a vous! Probleme résolu[/quote]Tu l’indiques en modifiant le titre du premier post du fil ?