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 :

Utilisation de variables MySQL


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut Utilisation de variables MySQL
    Salut à tous,

    J'aurais besoin d'un coup de main.. Je veux modifier des données dans une table MySQL mais pour ça j'ai besoin d'utiliser des variables internes MySQL... Et je comprends pas trop comment ça marche...

    En gros j'ai cette table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    +----------------------+-------------------------+
    | a | b |
    +----------------------+-------------------------+
    |                  264 |                     400 |
    |                  264 |                       0 |
    |                  264 |                       0 |
    +----------------------+-------------------------+

    Et je voudrais changer les valeurs de a et b pour chaque ligne de manière :
    a = une_fonction_math_quelconque(a,b)
    b = une_fonction_math_quelconque(b,a)

    Le problème est que si je fais les calculs les uns après les autres, je modifie la valeur de a.. Du coup, b est faux.

    D'ou le besoin de passer par une variable interne.... Mais j'arrive pas du tout à comprendre comment ça marche :/

    Pour l'instant je fais ça, mais ça marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT  @a := la_fonction(a,b) FROM table WHERE a > 0;
    SELECT  @b := la_fonction(b,a) FROM table WHERE b > 0;
    UPDATE table SET a = @a;
    UPDATE table SET b = @b;
    Pour info, j'ai changé le nom des tables et variables pour que ça soit plus simple (pareil pour les fonctions maths)

    Si vous pouvez me donner un petit coup de main, je prend de bon coeur !

    Alexis

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Un ami m'a envoyé la réponse, il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table set a=(select @tmp := a), a=func(a, b), b=func(@tmp, b);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment utiliser une variable dans MySQL
    Par lecaire dans le forum Débuter
    Réponses: 6
    Dernier message: 17/08/2009, 22h57
  2. [MySQL] Utilisation variables mysql
    Par heaven83 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/05/2009, 09h18
  3. Réponses: 31
    Dernier message: 24/08/2006, 12h13
  4. Utiliser des variables d'environnements
    Par Xam335 dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/08/2004, 14h15
  5. Utilisation des API MySQL // ADO ou BDE ? (sujet 2)
    Par rohstev dans le forum C++Builder
    Réponses: 8
    Dernier message: 07/11/2003, 10h50

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