Afin de mettre à jour des lignes spécifiques dans une base de données MySQL à l'aide de l'instruction CASE WHEN , la syntaxe correcte doit être suivie. La requête fournie, qui tente de mettre à jour les prix en fonction des valeurs d'ID, démontre une utilisation incorrecte de l'instruction CASE.
Pour résoudre ce problème, la requête de mise à jour correcte doit être la suivante :
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END;
Dans cette requête corrigée, notez que :
Mise à jour des lignes à l'aide de CASE L'instruction peut être utile lors de l'attribution de différentes valeurs en fonction de conditions spécifiques. Cependant, il est important de noter que la requête fournie mettra à jour les prix de tous les enregistrements, quel que soit leur ID. Si l'objectif est de mettre à jour uniquement les identifiants spécifiques mentionnés dans la requête, l'approche suivante peut être utilisée :
UPDATE ae44 JOIN ( SELECT 'AT259793380' AS oldval, '500' AS newval UNION ALL SELECT 'AT271729590' AS oldval, '600' AS newval UNION ALL SELECT 'AT275981020' AS oldval, '700' AS newval ) q ON ae44.id = q.oldval SET price = q.newval;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!