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 :

UPDATE avec une valeur MAX


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 56
    Points : 44
    Points
    44
    Par défaut UPDATE avec une valeur MAX
    Bonjour,

    Je souhaite faire une requête UPDATE sur un champ contenant des pourcentages. La valeur max du champ est 100.

    Est il possible de faire en 1 seule requête une incrémentation de ce champ tout en ne dépassant pas la valeur max :

    Exemple, la valeur actuelle du champ est 95, je dois augmenter ce champ de 10 points mais sans dépasser 100, autrement dit la nouvelle valeur doit être 100 et non 105.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE stats
    SET pourcentage = pourcentage + 10
    BUT IF pourcentage > 100
    THEN pourcentage = 100


    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut

    essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE stats
    SET contact_niveau = IF(pourcentage<90, pourcentage=pourcentage+10, 100)
    bon courage

  3. #3
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Et si vous voulez que votre requête reste portable sur d'autres moteurs, vous faîtes deux requêtes !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE stats
    SET pourcentage = pourcentage + 10
    WHERE pourcentage <= 90;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE stats
    SET pourcentage = 100
    WHERE pourcentage > 90;

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    pour la solution d'Alexandre, ne pas oublier de mettre la comparaison =90 dans une des 2 requetes.
    sinon le pourcentage a 90 ne sera pa traité.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    Impec, merci bcp

  6. #6
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Citation Envoyé par Cybher
    pour la solution d'Alexandre, ne pas oublier de mettre la comparaison =90 dans une des 2 requetes.
    sinon le pourcentage a 90 ne sera pa traité.
    Mea culpa, j'ai corrigé

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

Discussions similaires

  1. [2.x] Forms : un champ @updated chargé avec une valeur imprévue
    Par arcandre dans le forum Symfony
    Réponses: 0
    Dernier message: 18/05/2012, 19h32
  2. Update sur un champ NOT NULL avec une valeur NULL sans erreur
    Par HectorPriamide dans le forum Requêtes
    Réponses: 8
    Dernier message: 26/01/2012, 21h25
  3. update avec une autre valeur
    Par flash22 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 20/04/2011, 14h02
  4. Réponses: 4
    Dernier message: 30/05/2008, 10h47
  5. Réponses: 0
    Dernier message: 06/02/2008, 17h09

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