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

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 に答える