Met à jour une cellule dans une ligne spécifiée et une colonne non spécifiée avec un contenu contenant une chaîne spécifique
P粉197639753
P粉197639753 2023-09-05 00:22:58
0
1
552
<p>J'ai un tableau avec les colonnes suivantes : nom - cours1 - cours2 - cours3. Les deux lignes ressemblent à ceci : </p> <pre class="brush:php;toolbar:false;">John - physique - mathématiques - art Sara - mathématiques - chimie - psychologie</pre> <p>Maintenant que John a été expulsé du cours de mathématiques, je souhaite remplacer « math » par « aucun » dans ses lignes. </p> <p>Lorsque j'ai cherché une solution, j'ai trouvé ceci : </p> <pre class="brush:php;toolbar:false;">UPDATE tableName SET `course1` = 'none' WHERE `name`='John' AND `course1`='math';</pre> <p>Cela pourrait être utile si je savais dans quelle colonne de John "math" a été enregistrée. Mais le mot peut apparaître dans n’importe quelle colonne. Ce dont j'ai besoin, c'est de quelque chose comme ceci : </p> <p>sql_query="Recherchez la ligne où <code>name</code>='John', puis recherchez la colonne où nous avons le mot 'math', remplacez simplement 'math' par 'none'. </p> <p>Pouvez-vous m'aider à résoudre ce problème ? </p>
P粉197639753
P粉197639753

répondre à tous(1)
P粉113938880

Dans ce cas, je pense qu'il n'y a pas d'autre moyen que d'évaluer chaque colonne, comme ceci :

update
   my_table
set 
   course1 = if(course1 = 'math', 'none', course1),
   course2 = if(course2 = 'math', 'none', course2),
   course3 = if(course3 = 'math', 'none', course3)
where
   name = 'John';
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal