[RESOLU] Udpate valeur NON

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Udpate valeur NON

Re: Udpate valeur NON

par nagstef » 09 mars 2019, 13:07

Merci beaucoup !!

J'aime beaucoup la solution de Patriboom dans sa conception logique de prendre la valeur absolue de la valeur actuelle -1 .. :)
Et coté spols, ca me permet aussi de comprendre une certaine organisation possible dans une requête sql..

Merci à tous les 2 ..

Re: Udpate valeur NON

par Patriboom » 08 mars 2019, 15:30

On peut aussi imaginer une formule universelle sans IF comme ceci:
UPDATE `table` SET `bool_field` = ABS(`bool_field`-1) WHERE id= 1

Re: Udpate valeur NON

par @rthur » 08 mars 2019, 11:12

IMPORTANT : Si tu exécute avec WHERE 1, ça va modifier TOUS les enregistrements de ta table donc fait gaffe à ne pas le faire sur une base de prod sans avoir mis correctement ton WHERE ;-)

Re: Udpate valeur NON

par Spols » 08 mars 2019, 09:47

j'ai essayé ceci ca marche

UPDATE `table` SET `bool_field` = IF(`bool_field` = 1, 0, 1) WHERE 1

à toi d'adapter le where

Re: Udpate valeur NON

par Patriboom » 08 mars 2019, 00:21

Tu peux y aller simplement ainsi:

Code : Tout sélectionner

UPDATE table SET valeur = 1 WHERE id=2 AND valeur = 0;
Pour inverser la valeur ... c'est une bonne question. J'aime ton hypothèse initiale, mais à te lire il faut comprendre que ce n'est pas la bonne façon de faire.

Veuille utiliser les balises du menu bleu pour marquer ton texte et séparer ton code de tes commentaires. :non:

Udpate valeur NON

par nagstef » 07 mars 2019, 21:01

Bonjour,

J'ai une entrée en bdd de type boolean.
Je n'arrive pas à trouver la focntion UPDATE qui me permette de mettre la valeur à 0 si elle etait à 1 initialement, et inversement.

Un truc du style : "UPDATE table SET valeur = !valeur WHERE id='2' "

Il serait bien sûr possible de trouver la valeur actuelle, faire un 'if' et faire un update ensuite, mais je ne peux pas imaginer qu'une façon plus simple soit faisable.

En vous remerciant de votre aide !

Stéphane