众所周知,MySQL是流行的关系数据库之一,在网站开发中广泛被使用。近期一朋友在问,为什么sql语句执行后结果为空,具体情况如下:
update test set content=concat(content,",","加内容") where id=1
执行后,影响了 0 行。
究其原因,concat函数本身的问题,因为concat是拼接成一个字符串,返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。而我们的content字段默认为null,所以,执行上述sql语句,相当于变成了:
update test set content=null where id=1
这当然就不行了。
怎么解决了?很简单,把content字段的默认值改为""就可以了。