首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MYSql多个替换查询

MYSql多个替换查询
EN

Stack Overflow用户
提问于 2011-03-28 22:21:41
回答 2查看 34.4K关注 0票数 23

我有这个

代码语言:javascript
运行
复制
UPDATE  table 
SET  example = REPLACE(example, '1', 'test') 
WHERE example REGEXP '1$'

因此,此代码将"example“字段中"1”的所有实例替换为"test“。

我想重复2,3,4等等。

但是使用单独的查询是非常低效的。

有没有办法只用一个查询就能做到这一点?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-28 22:25:47

Matryoshka-way ;-)

代码语言:javascript
运行
复制
REPLACE(REPLACE(REPLACE(example, '3', 'test') , '2', 'test') , '1', 'test') 
票数 59
EN

Stack Overflow用户

发布于 2017-05-04 21:09:59

存储过程。

假设您有一个表'lut‘,其中包含一组值,您希望在表的字段'content’中替换这些值,该字段称为'example‘

代码语言:javascript
运行
复制
delimiter //
CREATE PROCEDURE myreplace()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE lv CHAR(64);
DECLARE li INT;
DECLARE lut CURSOR FOR SELECT id,value FROM lut l;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN lut;
lut_loop: LOOP
FETCH lut INTO li,lv;
IF done THEN
LEAVE lut_loop;
END IF;
update example set content = replace(content,lv,li);
END LOOP; 
CLOSE lut;
END;
//
delimiter ;
call myreplace();
drop procedure myreplace;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5460364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档