我有一个包含1列“textField”的表。我们的mysql版本不允许全文字段具有默认值,默认值为null。
当我们想要更新我们的表时,我们想要将值附加到textField中的任何内容,如下所示:
更新表集textField = concat(textField,'value')...当字段中已存在某些内容时,此方法有效,但如果该字段为空则无效。由于mysql不允许在全文字段中使用默认值,因此上述语句将不起作用。
解决方案是进行2次查询: 1.检查该字段是否为空 2.如果是的话,那么就不要做一个concat&只需要更新值...如果不为null则执行concat
如果我们可以避免它,我们宁愿不做2个查询...是否有一个单行代理可行?
答案 0 :(得分:3)
试试这个:
update table set textField = concat(COALESCE(textField, '') ,'value')...
答案 1 :(得分:1)
concat(ifnull(textfield, ''), 'value')