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,')