MySql 用转义字符替换部分字符串

标签 mysql string url replace

我正在尝试使用新的相对 URL 对数据库表中的旧 URL 进行简单更新,但我一直收到“0 行受影响”。我认为这可能与字符串中的转义字符有关?

“数据”列中的 URL 现在使用反斜杠构建。 这是我的 SQL:

 UPDATE vjfl_sliderimages
 SET data = REPLACE(data, '\/myolddomain.com\/images\/', '\/images\/')

这应该可以将每张图片的 URL 从 myolddomain.com/images/更改为/images/,但由于某种原因它没有任何影响。

最佳答案

对于遇到此问题的任何人,请将 CONCAT SQL 函数与对应于 '\' ASCII 字符的 CHAR(92) 一起使用。

例子:

UPDATE vjfl_sliderimages SET data = REPLACE(data, CONCAT(CHAR(92), '/myolddomain.com', CHAR(92), '/images', CHAR(92), '/'), CONCAT(CHAR(92), '/images', CHAR(92), '/'))

关于MySql 用转义字符替换部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34108552/

相关文章:

javascript - 显示网页当前子目录URL

mysql - 从MySQL中选择列时如何跳过引号

php - 如何合并两个 mysql 查询的数据

c - 如何读取逗号分隔字符串中的名称和整数值?

url - jQuery getJSON Ajax 方法中的相对 Url 损坏

javascript - 在特定页面 Wordpress 上运行特定 Js

mysql - MySQL首先执行什么: The `WHERE` clause or the `ORDER BY` clause?

php - 创建 PHP 多用户登录

string - bash:在多个其他字符串中查找字符串

python - 如何将 str.replace() 与替换字典一起使用? Python