使用SQL REPLACE更新文本列

zga*_*ll1 2 mysql sql replace

我有1000个SQL行,其中包含数据类型为LONGTEXT的列.这些列中的每一列都包含列中某处的错误电话号码.我已尝试使用以下代码更新电话号码.

UPDATE table 
SET text = replace('514-921-2738', '514-921-2738', '514-234-0315')
Run Code Online (Sandbox Code Playgroud)

但是,它不是简单地用第二个电话号码 - 514-234-0315替换第一个电话号码 - 514-921-2738,而是用第二个电话号码替换整个文本块.

换句话说,我运行代码后剩下的就是电话号码.显然,我并不完全了解如何使用该REPLACE功能,但在查看在线文档后,我看不出我做错了什么.有什么想法吗?

Rob*_*sen 5

这就是你要找的东西:

UPDATE table 
SET text = REPLACE(text, '514-921-2738', '514-234-0315');
Run Code Online (Sandbox Code Playgroud)

根据文件:

REPLACE(STR,from_str均被,to_str)

返回字符串str,其中所有出现的字符串from_str都替换为字符串to_str.

在您的查询中,您只需将固定字符串'514-921-2738'替换为'514-234-0315',然后将其分配给所有文本列值.