搜尋

首頁  >  問答  >  主體

指定行更新單元格,列未指定,以包含特定字串的內容進行更新

<p>我有一個包含以下列的表格:name - course1 - course2 - course3。兩行的樣子如下:</p> <pre class="brush:php;toolbar:false;">John - physics - math - art Sara - math - chemistry - psychology</pre> <p>現在約翰被開除了數學課,我想在他的行中用“none”替換“math”。 </p> <p>當我尋找解決方案時,我找到了這樣的內容:</p> <pre class="brush:php;toolbar:false;">UPDATE tableName SET `course1` = 'none' WHERE `name`='John' AND `course1`='math';</pre> <p>如果我知道「math」是在約翰的哪一列記錄的,那麼這可能是有用的。但是這個字可以出現在任何一列。我需要的是這樣的東西:</p> <p>sql_query="找到 <code>name</code>='John' 的行,然後找到我們有單字'math'的列,只在那裡將'math'替換為'none'。 </p> <p>你能幫我解決這個問題嗎? </p>
P粉197639753P粉197639753453 天前534

全部回覆(1)我來回復

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

    回覆
    0
  • 取消回覆