mysql - 在数据库中查找、隔离、重建和替换字符串

标签 mysql replace find

我有一个非常实际的问题。我的数据库中有大约 400 篇文章,在这些文章中我有其他文章的链接。在转换过程中,链接被破坏。我们在 CMS 中手动插入新的菜单链接项。我想制作一个脚本来查找(文章)id 并将内部链接中的菜单项 id 替换为新的菜单项 id。

例如: 这是表 twsf_content 中的旧内部链接,列 introtext:

index.php?option=com_content&view=article&id=140&Itemid=613&ldquo;v.d.Hermels Hoeve&rdquo;</a>

这必须是表 twsf_content 中的新链接:

index.php?option=com_content&view=article&id=140&Itemid=397&ldquo;v.d.Hermels Hoeve&rdquo;</a>

唯一改变的是 Itemid(397 而不是 613)。

我们可以在另一个表(twsf_menu,列链接)中找到article&id(在本例中为140)并确定Itemid必须为:397(列ID)而不是613。

一篇文章中可以有多个链接。

简而言之:我们希望找到所有文章中的所有链接,并将 Itemid 替换为新的 Itemid。

有人可以给我代码吗?

提前致谢!

最佳答案

将内容提取到 CSV 文件,使用 sed 和 awk 进行处理,然后将其加载回数据库将是我的方法。 MySQL 不擅长递归地使用正则表达式,这看起来像是一次性工作。

关于mysql - 在数据库中查找、隔离、重建和替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202194/

相关文章:

mysql - 如何让MySQL自动更新值?

PHP:如果句子包含@,则从句子中删除单词

asp.net-mvc - ASP.MVC db Find(),但带有非主键参数

awk - 将字符串中的数字替换为包含替换数字个数的模式

linux - 如何在 linux 上识别重命名的文件?

linux - 此命令如何在 Rpm 包中查找文件

php - 如何将多个值插入到具有不同行的一列中?

c# - 使用 MySQL Connector Net 6.7.9 从 UWP 到 MariaDB

mysql - auth0 身份验证和自定义数据库不起作用

python - 删除 Pandas 中的部分字符串 : not working + errors