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 :

Variables, syntaxe @@, @, global, et session ?


Sujet :

MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 66
    Points : 64
    Points
    64
    Par défaut Variables, syntaxe @@, @, global, et session ?
    Bonjour a tous,


    Je ne parviens pas a trouver un passage dans la documentation MySql expliquant clairement :

    - Pourquoi parfois il faut mettre deux @@ pour selectionner une variable ( sont-ce les variables du serveur uniquement ? )
    - Pourquoi parfois une variable est modifié via @@, d'autre fois via le flag GLOBAL | SESSION, d'autres fois avec @@session.nom etc...


    Quelqu'un pourrait m'expliquer la différence entre ces différentes possibilités ?
    Car pour le moment, je les utilises sans comprendre ...

    PS :
    pour info, j'ai déja lu le passage de la doc relative au variables utilisateurs.
    CAD : http://dev.mysql.com/doc/refman/5.0/...variables.html
    ZCE & Mysql Certified Developper

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 321
    Points
    4 321
    Par défaut
    Bonjour,

    @@ permet d'accéder a des variable serveur oui. Un certain nombre de variables définissent l'état du serveur.

    A la connexion toutes les variables globales sont copié et appelé variable de session.

    Si l'on modifier des varaibles de session, cela changera le comportement du serveur mais uniquement pour la session courante.

    Les variables globales elle définissent le comportement du serveur face a toutes les connexion. Lors d'une modification de variable global, les variables de session de toutes les connexion ouverte ne seront pas mise à jour et ne s'initialiseront qu'a la prochaine connexion.

    Les syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET GLOBAL var=value;
    SET @@global.var=value;
    Sont strictement équivalentes.

    De même que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET SESSION var=value;
    SET @@session.var=value;
    Sont équivalente.

    Dans l'absence du mot clé GLOBAL ou SESSION, SESSION sera utilisé par défaut.

    Ainsi :
    Est de type SESSION.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 66
    Points : 64
    Points
    64
    Par défaut
    Merci pour la reponse

    Encore une question :

    Quelle est la différence entre SET [ @@var = 2 , @var = 2 et var = 2 ] ?
    ZCE & Mysql Certified Developper

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 321
    Points
    4 321
    Par défaut
    Bonjour,

    A ma connaissance @@ sert a définir la valeur de variable système, alors que @sert a définir la valeur de variable de session non système (donc métier).

    Cependant ma connaissance dans ces notions n'est que très théorique et manque de pratique, une personne plus expérimenté aura peut-être un point de vue plus critique.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 66
    Points : 64
    Points
    64
    Par défaut
    Ok d'accord, merci.
    Alors le sujet reste ouvert.
    ZCE & Mysql Certified Developper

Discussions similaires

  1. [Cookies] variable globale, cookie, session
    Par badock dans le forum Langage
    Réponses: 2
    Dernier message: 01/02/2008, 17h36
  2. Variable super globale au projet
    Par florent149 dans le forum Général VBA
    Réponses: 35
    Dernier message: 11/07/2006, 11h52
  3. [Sécurité] Variables et mise en session
    Par kcizth dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2006, 16h32
  4. Réponses: 4
    Dernier message: 20/06/2005, 16h04
  5. [.NET] [C#] Variable super global ?
    Par choas dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/04/2005, 16h27

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