IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Bloquer un futur id


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut Bloquer un futur id
    Bonjour

    dsl pour le titre un peu barbare !

    sur un site de vente (oscommerce), j'ai un systeme de paiement par CB
    pour une commande par CB, le systeme fonctionne ainsi :
    - tratement de la transaction bancaire
    - insertion dans la table 'orders" de la commande si la transaction bancaire s'est bien passée
    si tout se passe bien, dans mon interface bancaire apparait la transaction Mais sans le numero de commande (puissequ'il se fait apres)
    Pour obtenir quand meme mon numero de commande, je fais une simple requete qui recupere le dernier id de "orders" et je l'incremente de 1 pour avoir mon futur id
    je suis conscient que si une autre transaction vient entre temps faire un insert dans la table orders, mon id ne sera plus correct

    d'ou cette appel à l'aide
    serait il possible de bloquer un id pour que si un insert vient au meme moment, celui ci prend l'id suivant ?
    ou existe il d'autre solution ?

    merci de votre aide

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Bonjour,

    Si tu es en auto-incrément, non ce n'est pas possible (et pas souhaitable d'ailleurs). L'id auto-incrémenté est juste une clef informatique et ne doit pas avoir de sens.
    Pourquoi ne pas utiliser l'auto-incrément dans orders et, si l'ordre est validé, recopier le code d'ordre dans la table commande (comme code commande ou comme clef étrangère) ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par défaut
    bonjour,

    tu veux dire recupere le futur id , le dupliquer et le mettre dans un autre champs genre num-commande?
    si j'ai bien compris, le probleme reste le meme puisqueque si une autre commande est validé entre temps le num_commande ne sera pas le bon

    merci

Discussions similaires

  1. [RaveReport] - Bloquer groupe sur une page
    Par muaddib dans le forum Rave
    Réponses: 3
    Dernier message: 25/02/2003, 16h21
  2. Bloquer le téléchargement de certains types de fichiers
    Par Nikos dans le forum Développement
    Réponses: 4
    Dernier message: 23/12/2002, 20h54
  3. Bloquer le lecteur cd
    Par krusaf dans le forum MFC
    Réponses: 3
    Dernier message: 07/07/2002, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo