我正在尝试使用新的相对 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/