Mysql 用新值替换sql中的数值
我有多个值,如下所示:Mysql 用新值替换sql中的数值,mysql,Mysql,我有多个值,如下所示: 1.212302157,305027504,302002744 2.305027504,302002744,212302157 我想删除212302157并添加212605226 对于相同的问题,单行更新查询将是什么。我认为这不是最好的方法。。 但我对这个问题的回答是 语法: update Table_name set c_name = concat( Replace( Replace( c_name, concat('RemovedStr'
1.212302157,305027504,302002744
2.305027504,302002744,212302157
我想删除212302157并添加212605226
对于相同的问题,单行更新查询将是什么。我认为这不是最好的方法。。 但我对这个问题的回答是 语法:
update Table_name set c_name = concat(
Replace(
Replace( c_name, concat('RemovedStr',','), '' ),
concat(',' ,'RemovedStr'), ''
),
'AddedStr'
) [where condition];
根据我的查询:
update Table_name set c_name=concat(Replace(Replace(c_name,concat('212302157',','),''),concat(',','212302157'),''),'212605226');
如果您将多个值作为逗号分隔的字符串存储在单个字段中,那么这确实是一种糟糕的做法。尝试规范化表的架构。无论如何,您可以使用
REPLACE
来做您想做的事情。现在没有人阅读手册吗?