Mysql 更新列的文本

Mysql 更新列的文本,mysql,sql,sql-update,edit,Mysql,Sql,Sql Update,Edit,我已将表创建为 create table tab (id int, mytext varchar(200)); 现在我插入值作为 insert into tab values (1, 'text 11,text 12,'), (2, 'text 21,text 22,'), (3, 'text 31,text 32,'), (4, 'text 41,text 42,'); 现在我想做的是在文本开头添加文本text none,。为此,我必须按如下方式执行查询 update tab set my

我已将表创建为

create table tab (id int, mytext varchar(200));
现在我插入值作为

insert into tab values
(1, 'text 11,text 12,'),
(2, 'text 21,text 22,'),
(3, 'text 31,text 32,'),
(4, 'text 41,text 42,');
现在我想做的是在文本开头添加文本
text none,
。为此,我必须按如下方式执行查询

update tab set mytext = concat('text none,', mytext)
但是,我错误地执行了以下查询:

update tab set mytext = concat('text none', mytext)
我漏掉了“无”后面的逗号(,)

现在我有了数据

1   textnonetext 11,text 12,
2   textnonetext 21,text 22,
3   textnonetext 31,text 32,
4   textnonetext 41,text 42,
我想要的是将上述输出更改为:

1   textnone,text 11,text 12,
2   textnone,text 21,text 22,
3   textnone,text 31,text 32,
4   textnone,text 41,text 42,
i、 e.无后加逗号(,)

你知道怎么做吗

注意:mytext字段中原始数据的长度不是固定的;有些ID是6,有些是50。

试试这个

update tab 
set mytext = concat('text none, ', Replace(mytext, 'text none',''));
或者,如果您没有任何特殊的理由使用concat,则只需更换即可

update tab 
set mytext = Replace(mytext, 'text none','text none, ');
或者简单地使用而不使用concat:

UPDATE tab
SET mytext = REPLACE(mytext, 'text none', 'text none,')