更新个人资料 SET favourties=CONCAT(IFNULL(favourties,''),'123') WHERE id=1
我想在favourties中添加123,但如果favourties的默认值设置为NULL,则此查询将无法正常工作。如果favourties设置为NULL,然后再附加123,那么查询语句将是什么?
更新个人资料 SET favourties=CONCAT(IFNULL(favourties,''),'123') WHERE id=1
我想在favourties中添加123,但如果favourties的默认值设置为NULL,则此查询将无法正常工作。如果favourties设置为NULL,然后再附加123,那么查询语句将是什么?
UPDATE profile SET favourties=CONCAT(IFNULL(favourties, ''),"123") WHERE id=1
COALESCE
函数包装起来:UPDATE profile
SET favourties = CONCAT(COALESCE(favourties, ''),"123")
WHERE id=1
coalesce
函数?UPDATE profile SET favourties=CONCAT(COALESCE(favourites,""),"123") WHERE id=1
ifnull
,但这不符合 SQL 标准。虽然它略微快一点,但请在此链接中了解更多信息:http://sqlblog.com/blogs/adam_machanic/archive/2006/07/12/performance-isnull-vs-coalesce.aspx。您还可以使用 CONCAT_WS()
(文档)来处理 NULL,它会将其转换为空字符串:
UPDATE profile SET favourties = CONCAT_WS('', favourties, "123") WHERE id = 1;
我个人现在只使用CONCAT_WS()
,因为担心NULL值会让我烦恼。我很少使用NULL值,所以不必担心,但以防万一。当你发现自己得到了一个空字符串,而这似乎没有道理时,解决这个问题只是一件烦人的事情。
在 PHP 中,我使用:
SET `trans`=concat('$var', trans)
在已经存在于trans
列中的字符串上添加。
如果不在括号内使用反引号group
,则无法在名为group
的列上工作,而对于trans,则不需要使用反引号。