如何通过MySQL查询实现匹配字符串后替换字段完整内容
你只需要调整原有SQL的SET逻辑,新增WHERE条件筛选匹配行即可,修改后的语句如下:
UPDATE `table_name` SET `field_name` = 'FGH-432' WHERE `field_name` LIKE '%ABC\_%';
语句说明
- 去掉了原有的
replace()函数,直接将字段赋值为你需要替换的完整目标值,即可覆盖字段原有全部内容 - 新增的
WHERE子句用LIKE模糊匹配:- 通配符
%代表任意长度的任意字符,%ABC\_%规则会匹配所有字段值中包含ABC_的记录 - 下划线在
LIKE语法中属于特殊通配符,代表匹配单个任意字符,因此需要加反斜杠转义才能精确匹配下划线本身 - 如果你只需要匹配以
ABC_开头的记录,将WHERE条件改为field_name LIKE 'ABC\_%'即可
- 通配符
注意事项
执行更新前建议先运行查询语句确认匹配的记录是否符合预期,避免误操作:
SELECT * FROM `table_name` WHERE `field_name` LIKE '%ABC\_%';
确认结果无误后再执行UPDATE语句,操作前建议提前备份相关表数据。
内容的提问来源于stack exchange,提问作者Alfredo Saez
相关产品推荐
相关产品推荐

