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

Requêtes MySQL Discussion :

Synchronisation " UPDATE "


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Par défaut Synchronisation " UPDATE "
    Bonjour,

    j'aimerais comprendre ,comment fonctionne "update".
    je voudrais savoir si je fait plusieurs "update" en même temps ,comment être sur que sa marche .

    Ex:
    1 req : "SELECT" récupération du nombre de visiteur présent sur le site.
    2 php : incrémentation de la variable
    3 req : "UPDATE" sur nombre de visiteur avec la variable incrémenté.

    Dans ce cas si j'ai 1000 visiteur d'un coup .Sa ne marchera pas car le dernier visiteur à faire "UPDATE" envéra le nombre de visiteur qu'il aura recu avec la première requete qui sera donc faux.


    J'espere être assez clair.

    Comment faire pour résoudre ce probleme de syncronicité ?


    En c++ ,je mettrai un état bloquant avant la requete 1, qui se déverrouillerais des qu'il recevrais un évenement pour cela , mais en sql je ne vois pas comment faire.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Par défaut
    Un amis me dit que ce cas n'est pas possible, car php s'exécute un par un ,et non en parallèle.

    Dans ce cas pas de soucis.

  3. #3
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    Salut,

    Si tu parles de l'affichage sur toutes les pages web de tous ceux qui sont connectés, là oui ça ne sera à jour que sur le dernier... les autres devront rafraichir leur page pour avoir le résultat à jour

    Si tu veux mettre automatiquement la valeur à jour tu peux le faire à intervalle régulier grâce à ajax mais, par définition tu n'auras pas forcément le résutat à jour.

    Le fonctionnement des mises à jour de table dépend du moteur de bd choisi. Un verrou est placé (sur toute la table en myisam, sur la ligne en innodb par exemple). dans tout les cas y a un accès concurrentiel qui est géré.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Par défaut
    Enfin une réponse merci,

    premièrement pour l'affichage sa ne m'intéresse pas j'ai prit sa comme exemple pour simplifier, ce qui m'intéresse c'est la valeur inscrite dans la base de donnée.

    Si 1000 personnes se connecte en même temps,
    la valeur dans ma BDD doit être incrémenter 1000 fois.


    Dans la deuxième partie tu parle de verrou , et la m'intéresse, le piege dans mon problème c'est que le verrou ne doit pas être au niveau de la BDD(mysql), mais au niveau du "php" , car dans mon exemple on est dépendent de la premier requête.

    Quoi en penser ?

  5. #5
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    Le verrou est commandé coté bdd mais sur ton ordre pour les verrou que tu peux positionner toi et déverrouillé par toi, les autres sont auto pour garantir l'accès concurentiel

Discussions similaires

  1. Update quote et sécurité
    Par grunk dans le forum Zend_Db
    Réponses: 1
    Dernier message: 26/10/2010, 15h59

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