UPDATE轮廓SET favourties = CONCAT(favourties, “123”) WHERE ID = 1MYSQL的毗连不工作
我想追加123 favourties但如果favourties的缺省值被设定为NULL,那么这个查询将不起作用。会有什么查询,如果favourties设置为NULL,然后用COALESCE
功能追加123与它
UPDATE轮廓SET favourties = CONCAT(favourties, “123”) WHERE ID = 1MYSQL的毗连不工作
我想追加123 favourties但如果favourties的缺省值被设定为NULL,那么这个查询将不起作用。会有什么查询,如果favourties设置为NULL,然后用COALESCE
功能追加123与它
UPDATE profile SET favourties=CONCAT(IFNULL(favourties, ''),"123") WHERE id=1
包裹场周围:
UPDATE profile
SET favourties = CONCAT(COALESCE(favourties, ''),"123")
WHERE id=1
你可能不能连接的东西为NULL。也许你可以使用3210?
UPDATE profile SET favourties=CONCAT(COALESCE(favourites,""),"123") WHERE id=1
见:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce
您可以使用ifnull
像@zerkms说,但不是在SQL标准。尽管如此,速度还是有点小。阅读起来就可以在此链接:http://sqlblog.com/blogs/adam_machanic/archive/2006/07/12/performance-isnull-vs-coalesce.aspx
您还可以使用CONCAT_WS()
(docs),其与空值你所期望的交易:将它们转换为空字符串:
UPDATE profile SET favourties = CONCAT_WS('', favourties, "123") WHERE id = 1;
我个人实际上只使用CONCAT_WS()
现在因为不必担心NULL会让我烦恼。我很少使用NULL,所以我不必担心它,但只是incase。这只是一个令人讨厌的事情,弄清楚为什么你最后会得到一个空字符串,当它看起来没有意义时。
在PHP中,我使用:
SET `trans`=concat('$var', trans)
添加到字符串已经在trans
列。 它不会在名为group
的列上工作,也不会在括号内使用返回勾号group
,而使用trans时,不需要back tick。