我有新的問題查詢:MySQL的 - 切排第一串視病情
我想這取決於ID一些新的數據更新列「列」:
UPDATE table SET column = CASE
WHEN id = 2 THEN CONCAT(`column`, ',7')
WHEN id = 3 THEN CONCAT(`column`, ',10')
ELSE column
END;
可惜的是,加列的新值必須以逗號開頭,因爲列將數據存儲爲逗號分隔值。 例如,它看起來是這樣的:
id | column
-------------
2 | 3, 1, 20
3 | 1, 5
執行查詢後,我得到:
id | column
-------------
2 | 3, 1, 20, 7
3 | 1, 5, 10
這一切都很好至今。可惜的是,如果我更新欄是空的,這一切以逗號開始,它看起來像這樣:
id | column
-------------
2 | ,7
3 | ,10
它從數據庫監守當我爆炸(),它使得第一陣列值空掠數據時,會導致一些問題。我想在更新表格時刪除這樣的第一個逗號。 我想我應該作出這樣的檢查「列」(與CHAR_LENGTH)的長度有一定的「如果」語句,如果它是空的更新而不先開始逗號。 你能幫助我正確的語法?
摘要: 如何使如上值與逗號開始,如果「列」存在描述了更新列適當的查詢。如果'列'爲空,則用變量更新它,而不用逗號開始。
的偉大工程,謝謝。 – Kalreg 2012-03-04 22:48:05
不客氣!快樂的編碼! – SteAp 2012-03-04 23:10:30