Heim  >  Fragen und Antworten  >  Hauptteil

Aktualisiert eine Zelle in einer angegebenen Zeile und einer nicht angegebenen Spalte mit Inhalt, der eine bestimmte Zeichenfolge enthält

<p>Ich habe eine Tabelle mit den folgenden Spalten: Name – Kurs1 – Kurs2 – Kurs3. Die beiden Zeilen sehen so aus: </p> <pre class="brush:php;toolbar:false;">John – Physik – Mathematik – Kunst Sara - Mathematik - Chemie - Psychologie</pre> <p>Nachdem John aus dem Matheunterricht geworfen wurde, möchte ich in seinen Zeilen „Mathe“ durch „keine“ ersetzen. </p> <p>Als ich nach einer Lösung suchte, fand ich Folgendes: </p> <pre class="brush:php;toolbar:false;">UPDATE tableName SET `course1` = 'none' WHERE `name`='John' AND `course1`='math';</pre> <p>Dies könnte nützlich sein, wenn ich wüsste, in welcher Spalte von John „math“ aufgezeichnet wurde. Das Wort kann jedoch in jeder Spalte erscheinen. Was ich brauche, ist so etwas: </p> <p>sql_query="Suchen Sie die Zeile, in der <code>name</code>='John' ist, und suchen Sie dann die Spalte, in der wir das Wort 'math' haben. Ersetzen Sie dort einfach 'math' durch 'none'. </p> <p>Können Sie mir bei der Lösung dieses Problems helfen? </p>
P粉197639753P粉197639753412 Tage vor496

Antworte allen(1)Ich werde antworten

  • P粉113938880

    P粉1139388802023-09-05 11:25:34

    在这种情况下,我认为除了评估每一列之外,没有其他办法,就像这样:

    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';

    Antwort
    0
  • StornierenAntwort