gpt4 book ai didi

mysql - 如何替换sql数据库中的单词

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:11 25 4
gpt4 key购买 nike

我只需要将存在于数据库的许多行中的 URL 的域替换为不同的域。例如,当前的 URL 类似于 www.myoldsite.com/index?s=something,我只需要替换域,这样它们就会看起来像 www.mynewsite.com/index?s=something 等等。甚至可以在 mysql 中执行此操作吗?

我知道如何更新和设置表中具有特定值的所有行的完整值,但不仅仅是其中的一部分:

UPDATE `mydatabase`.`mytable` SET `mycolumn` = 'http://mynewsite.com/' WHERE `mycolumn` = 'http://myoldsite.com/';

在这种情况下我能做什么?

谢谢。

最佳答案

是的。使用函数replace():

UPDATE mydatabase.mytable
SET mycolumn = replace(mycolumn, 'http://myoldsite.com', 'http://mynewsite.com/')
WHERE `mycolumn` like 'http://myoldsite.com/%';

如果旧站点在 URL 中出现不止一次,这并不完美。

也许更好的方法是:

UPDATE mydatabase.mytable
SET mycolumn = concat('http://mynewsite.com/',
substr(mycolumn, length('http://myoldsite.com/')
)
WHERE `mycolumn` like 'http://myoldsite.com/%';

关于mysql - 如何替换sql数据库中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com