0

我将 phpbb2 论坛转换为 phpbb3。但我对保留在 MySQL 数据库中的 phpbb2 帖子链接有疑问。

phpbb2 帖子链接例如。

/viewtopic.php?p=106352#106352

和 phpbb3 是:

/viewtopic.php?p=106352#p106352

(#后面有字母p)

来自 phpbb2 的当前链接在转换后不起作用,所以我需要帮助替换 MySQL DB 中帖子 ID(数字)之间的#。

我有很多链接,例如:

/viewtopic.php?p=106352#106352 

我需要用 p 替换 # (在末尾添加 p ),例如:

/viewtopic.php?p=106352#p106352 

我对MySQL不太了解,所以我卡住了。

请帮忙

4

2 回答 2

1
select replace('/viewtopic.php?p=106352#106352','#','#p')

update myTable
set myColumn = replace(myColumn, '#', '#p')
where someColumn = someThing
于 2013-09-20T01:10:01.733 回答
1

一种可能的方法:

UPDATE phpbb_posts
   SET post_text = REPLACE(post_text, '#', '#p')
 WHERE post_text REGEXP '^[^#]*p=[0-9]+#[0-9]+$'

WHERE指定子句以防止更新不遵循该格式的链接。

SQL 小提琴

于 2013-09-20T01:11:54.560 回答