MySQL: mise à jour d'un champ uniquement si la condition est remplie

Est-il possible de faire une mise à JOUR de la requête MySQL qui met à jour la valeur du champ seulement si certaines conditions sont remplies? Quelque chose comme ceci:

UPDATE test
SET
    CASE
        WHEN true
        THEN field = 1
    END
WHERE id = 123

En d'autres termes:

UPDATE test
SET
    something = 1,        /*field that always gets updated*/
    CASE
        WHEN true
        THEN field = 1    /*field that should only get updated when condition is met*/
    END
WHERE id = 123

Quelle est la bonne façon de le faire?

  • La seule raison de cas d'utilisation dans la requête de mise à jour est que si vous voulez mettre à jour les lignes différemment en fonction d'une condition. Si vous voulez juste de mettre à jour certaines lignes, il suffit d'ajouter les conditions de la clause where.
InformationsquelleAutor Caballero | 2013-02-15