今天遇到一個更新的場景,即在更新某個字段值的時候,不是更新成新值,而是對原始數據進行追加內容。
第一反應想到的是 update table set remark = '追加內容' + remark where id = ''; 這種寫法,即想到數字類型的操作,都是直接可以進行加減的,
但是由於該字段為varchar,執行后發現remark值變成了0,即:如果remark本來有值,且是字符,用這種更新會更新為0,如果remark值為數字,會保持原數字而不進行更新。
從而想到字符的拼接應該用concat,於是重新修改sql:
update table set remark = concat('新值',remark) where id = ''; 這樣寫,更新成功。
