如何为行的子集更改MySQL表字符串列的格式?

如何为行的子集更改MySQL表字符串列的格式?,mysql,Mysql,具体来说,对于以下查询返回的值: select foo from mytable where foo rlike '^[0-9]+(,[0-9]+)*$'; 我想更新为123:foo 我应该如何做到这一点?试试看 SELECT CONCAT('123:',foo,';') FROM mytable WHERE foo rlike '^[0-9]+(,[0-9]+)*$'; 玩得开心 编辑 您可以将任意多个参数附加到CONCAT。如下所示: UPDATE mytable SET

具体来说,对于以下查询返回的值:

select foo from mytable where foo rlike '^[0-9]+(,[0-9]+)*$';
我想更新为
123:foo

我应该如何做到这一点?

试试看

SELECT 
  CONCAT('123:',foo,';') 
FROM mytable 
WHERE foo 
  rlike '^[0-9]+(,[0-9]+)*$';
玩得开心

编辑

您可以将任意多个参数附加到CONCAT。

如下所示:

UPDATE mytable SET foo=CONCAT('123:',foo,';') WHERE foo RLIKE '^[0-9]+(,[0-9]+)*$';

结尾总是有分号吗?另外,不清楚为什么只使用带有数字的regexp,但是指定的“目标”格式混合了数字和字母。目标包含匹配的文本,即原始值。是的,新格式的结尾有一个分号。谢谢!不过后面还有一个分号。另外,数据库的实际更新情况如何?