我们经常需要更新一个字段,在它的后面加一个字符串,不查询数据库得到这个字段值 怎么添加?
有user表,有个链接字段,现在想在所有链接前加域名,
我在mysql数据库这样写
UPDATE user SET url = ‘http://aa.com’+url WHERE id= ‘2’;
这样是不对的,mysql数据库把它当成数字相加了,user字段值变成空了。
正确写法:
UPDATE user SET url= CONCAT('http://aa.com',url) 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.注意,第一个参数为连接两个字符串的字符。
评论列表(0条)