PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/01/2013 16:21:19

aznur
Membre

meilleur solution pour une autoincrementation avec un select

voila j'aimerai l'avis de personne expert  sur Postgresql

le probleme peu etre bete
j'ai deja une solution toute trouver mais j'aimerai votre avis car ma solution et loin d'etre tres fine

voila je fait un select  systematique sur une table lorsque un individu envoie une certaine  requete sur le site

pour savoir si la donnee existe  (si elle n'existe pas je la cree ) si elle existe j'aimerai incrementé un int
pour pouvoir par la suite faire une statistique gloable

la solution bateau et de faire un select

-un insert si le select revien vide

-et un update  de l'increment si le select n'est pas vide

je ne parle pas ici d'un increment d'une clee primaire par l'insert

mais d'un increment d'une ligne

exemple les colone son ID  champtext  et NBconsultation

c'est le champs  NBconsultation que j'aimerai autoincrementé à chaque select

seulement j'aimerai connaitre votre avis et je pense que cela doit etre possible avec une regle
et donc sans envoyer une 2eme requete  de type update

Hors ligne

#2 03/01/2013 16:28:15

kenrio
Membre

Re : meilleur solution pour une autoincrementation avec un select

Je ferais faire ça par l'appli et non postgresql directement.
C'est mon avis.

Hors ligne

#3 03/01/2013 16:54:36

aznur
Membre

Re : meilleur solution pour une autoincrementation avec un select

donc avec un update apres le select  ?

Hors ligne

#4 03/01/2013 17:55:32

kenrio
Membre

Re : meilleur solution pour une autoincrementation avec un select

oui si je devais le faire en php, suivant le retour de la premier commande je lancerais ou non mon update sur le champ en question.

Hors ligne

#5 04/01/2013 16:16:55

flo
Membre

Re : meilleur solution pour une autoincrementation avec un select

Bon, je ne connais pas trop les règles (c'est le genre de trucs interdits dans les projets pour lesquels je travaille habituellement, bref.). J'espère que quelqu'un de plus compétent saura te répondre.
Par contre, attention avec le fait de créer la ligne si elle n'existe pas : il faut penser à gérer les conflits éventuels si 2 personnes font la même requête (ou à ne pas gérer, mais seulement en parfaite connaissance de cause, après s'être assuré que cela ne détruit rien et que l'utilisateur ne perdra pas trop de travail)

Hors ligne

Pied de page des forums