修改mysql某字段:(截取/之后的值追加host)
例如:param字段:截取最后一个/,修改字符串,得到表中最终结果:host/aib,host/b我研究的有问题:updatetest_paramsetparam=con...
例如:param字段:截取最后一个/,修改字符串,得到表中最终结果:host/aib,host/b我研究的有问题:update test_param set param= concat('host',(SELECT param FROM (SELECT SUBSTRING_INDEX(t.param ,'/',-1) FROM test_param t )as a)) 这样总报错
展开
2个回答
展开全部
update test_param set param=concat('host/',SUBSTRING_INDEX(param ,'/',-1));
追问
但是这个好像有bug,如果本来没有/的话,这行数据就被追加上了host/
追答
那没有/的话,又何来“最后一个/”?
你先把问题描述清楚,究竟param这个字段中有没有/ ?
其实如果数据里有些有/有些没有,只希望处理含有/的,那么可以加个判断啊:
update test_param set param=concat('host/',SUBSTRING_INDEX(param ,'/',-1)) where param like "%/%";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的写法有问题。试试这个:
update test_param t set t.param= concat('host',SUBSTRING_INDEX(t.param ,'/',-1));
追问
但是这个好像有bug,如果本来没有/的话,这行数据就被追加上了host/了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询