2015-11-26 86 views
0

正如標題所示,如果我要運行替換查詢並且它成功了,那麼我會在可能的情況下更新同一查詢中的字段。我可以檢查SQL REPLACE是否在單個查詢中找到匹配,然後更新第二個字段?

UPDATE users 
    SET solved = REPLACE(solved, ',testsolved123', '') AS match if match = true, SET found = found +1; 

我知道這說法是行不通的,我只是想傳達我以後的邏輯,是存在的情況下,方法?

+1

樣本數據和期望的結果將確實有助於傳達您正在嘗試做的事情。 –

+1

你正在使用哪些DBMS? –

回答

1

從你的描述,你想用一個where條款:

UPDATE users 
    SET solved = REPLACE(solved, ',testsolved123', ''), 
     found = found + 1 
    WHERE solved like '%,testsolved123%'; 

我不知道什麼是concat()應該做的。

它也好像你在單個字符串列中存儲逗號分隔的列表。這是一個非常非常糟糕的主意。

+0

這裏的分隔列表只是一個例子,我使用連字符,這是不是一個好主意?無視concat,是一個錯誤,我更新了帖子。 –

相關問題