2012-02-21 6 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>', ''); 

을 당신은 두 단계를 수행 할 수 있습니다

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>', '');