用新字符串更新字符串
Posted
技术标签:
【中文标题】用新字符串更新字符串【英文标题】:Update string with new string 【发布时间】:2019-09-28 11:06:09 【问题描述】:我想用一个新的 url 更新一个表来替换旧的:
UPDATE table1
SET column1 = REPLACE(column1, 'OLD URL', 'NEWURL')
WHERE column LIKE '%OLDURL%'
这主要是更新它,但我只想替换它的一部分,如果我在里面放任何 / 都不起作用,所以如果我想使用:
UPDATE table1
SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL')
WHERE column LIKE '%OLDURL%'
由于/
,它不起作用。
【问题讨论】:
我建议阅读how to ask,尤其是“帮助他人重现问题/发布前校对!”部分,因为问题缺少基本信息以提供更可靠的信息答案/cmets...另见Why should I provide a Minimal Reproducible Example for a very simple SQL query? 那么,您想将/folder1
部分也替换为空字符串吗?例如:http://google.com/xyz
转到 https://gog.com
?
请解释“不起作用”是什么意思。样本数据和期望的结果非常有帮助。
【参考方案1】:
对第二个更新查询的最快修复是在替换中包含路径组件:
UPDATE table1
SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL/folder1')
WHERE column LIKE '%OLDURL%';
【讨论】:
我想更新文件夹 1 部分以说文件夹 2,但是当它把它放入并在 phpmyadmin 中运行时,它没有找到任何东西 该列的格式如下 ["http:\/\/URL1\/\/1"]【参考方案2】:您应该检查where
中的替换模式:
UPDATE table1
SET column1 = REPLACE(column1, 'OLD URL/folder1', 'NEWURL')
WHERE column LIKE '%OLDURL/folder1%';
不过,我不确定这是否解决了您所说的“不起作用”的意思。
【讨论】:
我认为它在 phpmyadmin 的数据库中的格式是这样的 ["http:\/\/URL1\/\/1"]以上是关于用新字符串更新字符串的主要内容,如果未能解决你的问题,请参考以下文章