mysql 更新一个字段(在他的后面添加字符串)
发布时间:2015-10-15, 14:37:26 分类:PHP | 编辑 off 网址 | 辅助
正文 275字数 492,794阅读
更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加??例如:
我的test表,有个user字段,我现在想在它后面加了另一个用户的名字
我在mysql数据库这样写
UPDATE test SET user= user+ ',phpchina' WHERE id= '2';
这样是不对的,mysql数据库把它当成数字相加了,user字段值变成0了。
应该:
UPDATE test SET user= CONCAT(user,',phpchina') WHERE id= '2';
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 2 条评论 »
更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加??
我的test表,有个user字段,我现在想在它后面加了另一个用户的名字
我在mysql数据库这样写
UPDATE test SET user= user+ ',phpchina' WHERE id= '2';
这样是不对的,mysql数据库把它当成数字相加了,user字段值变成空了。
应该:
UPDATE test SET user= CONCAT(user,',phpchina') WHERE id= '2';
即:"+"只适合整数相加,不适合字符串。
附:两个MySQL字符串函数:
(1) CONCAT(str1,str2,...)
返回结果为将参数相连后得到的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型。
(2)CONCAT_WS()
update friend set cname=CONCAT_WS('.',cname,'wang') where id=1(字段cname原值为'Rick')
输出结果为Rick.wang.注意,第一个参数为连接两个字符串的字符.
update table_name set field=CONCAT(field,',str')
mysql 向表中某字段前加字符串
update table_name set field=CONCAT('str',field)
mysql 向表中某字段相加数字字段值
update table_name set field=field+$number