查找,隔离,重构en替换数据库中的字符串

时间:2015-05-12 22:01:52

标签: 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,列链接)中找到文章&amp; id(在本例中为140)并确定Itemid必须是什么:397(列Id)而不是613.

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

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

有人可以给我代码吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Extract the stuff to a CSV file, work on that with sed and awk and load it back to the database would be my approach. MySQL isn't good in recursively working with regex and this looks like one-off job.