2012-02-21 8 views
3

私はクリーンアップに私達のデータベースを必要とし、マスこのような何かを交換する必要がありますよ: MySQL:ラインフィード/キャリッジリターンを持つターゲットを検索および置換しますか?

<div class="rtecenter"><br /> 
<font color="#990033"><strong>I'm so hot, I sometimes spontaneously combust.</strong></font><br /> 
<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div> 

は(私は単にそれのすべてのインスタンスを削除するつもりです)。私はすでに一括置換(PHPMyAdminを使用しています)を行う方法を知っていますが、問題はそれがCR/LFを持っているので、正しい文字列を追加してクエリ内で見つける方法がわかりません。テストのために、Char(10)またはChar(13)を使って検索してみましたが、新しい行は返されますが、結果は返されませんでした。

誰でも知っていますか?

+0

はあなたを持っています\ r、\ n、\ r \ nを試しましたか? –

+0

私はちょうど\ n(結果なし)、ただ\ r(結果なし)、次に\ r \ nを試しました。 –

+0

更新を実行するためにSQL文を使用していますか、またはPHPMyAdminの特別な機能を使用していますか?前者の場合は、あなたがこれまで持っていたステートメントを投稿してください。後者の場合、「phpmyadmin」タグを質問に追加してください。 – ruakh

答えて

4

があるだけでCR/LFの場合は、このクエリを使用することができます -

UPDATE table 
SET 
    column = REPLACE(column, '<div class="rtecenter"><br />\r\n<font color="#990033"><strong>I''m so hot, I sometimes spontaneously combust.</strong></font><br />\r\n<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div>', ''); 

異なる行区切りがある場合は、次の2つのステップでそれを行うことができます。

UPDATE table 
SET 
    column = REPLACE(column, '\r', ''); -- replace all \r\n to \n 

UPDATE table 
SET 
    column = REPLACE(column, '<div class="rtecenter"><br />\n<font color="#990033"><strong>I''m so hot, I sometimes spontaneously combust.</strong></font><br />\n<img src="http://i476.photobucket.com/albums/rr124/phoenix_oasis/coollogo_com_63811610.gif" alt="" /></div>', ''); 
関連する問題