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
来做您想做的事情。现在没有人阅读手册吗?