테스트 사이트 - 개발 중인 베타 버전입니다

전체 게시판 변경을 하려면 update * set wr_content = REPLACE(wr_content,  채택완료

alexseo 9개월 전 조회 1,368

update g5_write_name set wr_content = REPLACE(wr_content, 

전체 게시판 변경을 하려면

 

update * set wr_content = REPLACE(wr_content, 

위와같이 하면 되나요? 

 

감사합니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
9개월 전

UPDATE g5_write_게시판ID SET wr_subject = '제목변경';
이렇게 하시면됩니다.

 

와일드카드로 g5_write_ 접두어로 하는 방법이 있지만

게시판이 몇십개가 아닌이상 위 방식대로 안전하게 하세요..

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

a
8개월 전

답변 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

9개월 전

전체 게시판을 추출한 다음 하나씩 처리 하면 됩니다

$qq=sql_query(" select bo_table from {$g5['board_table']} ");

while($row=sql_fetch_array($qq)){

  $g5_table =$g5['write_prefix'].$row['bo_table'];

  sql_query("update $g5_table set wr_content = REPLACE(wr_content, ~~");

}

 

  

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

glitter0gim
9개월 전

※ 만약, """전체 그누 게시판(g5_write_*)에서 "특정 문자열" 변경/제거"""시라면~

모든 그누 게시판(g5_write_*)의 테이블을 검색한 후,

UPDATE 문을 동적으로 생성 및 실행하여

wr_content의 특정 문자열을 일괄 변경하는 방법을 사용하시면~

 

information_schema.tables에서 현재 데이터베이스의 모든 g5_write_* 테이블을 검색한 후,

GROUP_CONCAT을 사용하여 각 테이블에 대한 UPDATE 문을 동적으로 생성하고,

이를 PREPARE를 이용해 SQL 실행 계획으로 만든 뒤 EXECUTE로 실행하며,

마지막으로 DEALLOCATE PREPARE를 통해 사용이 끝난 SQL 문을 정리하여

모든 g5_write_* 테이블의 wr_content에서 특정 문자열을 일괄 변경.

 

SET @sql = (
    SELECT GROUP_CONCAT(
        CONCAT('UPDATE ', table_name, 
               ' SET wr_content = REPLACE(wr_content, "기존내용", "새로운내용");')
        SEPARATOR ' ')
    FROM information_schema.tables 
    WHERE table_schema = DATABASE() 
    AND table_name LIKE 'g5_write_%'
);

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
9개월 전

전체 게시판의 무엇을 변경하신다는 건지 모르겠지만 게시판의 내용을 변경을 위해서는

 

update g5_write_name set wr_content = '변경할 내용'

게시판 내용이라면 이런식으로 하시면 되십니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인