쿼리문의 도움을 구하고자 합니다
본문
테이블명 g5_write_kkk에서 wr_content 안의 내용중에 삭제를 할려고 합니다
아래 해당 wr_content 의 내용을 일괄삭제하는 쿼리문의 도움을 구하고자 합니다.
1.
wr_id 001의 wr_content내용 :<title>백두산</title>
wr_id 002의 wr_content내용 :<title>한라산</title>
wr_id 003의 wr_content내용 :<title>지리산</title>
wr_id 004의 wr_content내용 :<title>북한산</title>
<title>을 포함하여서 </title>까지 일괄 삭제하는 쿼리문
2.
wr_id 001의 wr_content내용 :<table style="border-collapse:collapse;" cellspacing="0"><tr>백두산</table>
wr_id 002의 wr_content내용 :<table style="border-collapse:collapse;" cellspacing="0"><tr>한라산</table>
wr_id 003의 wr_content내용 :<table style="border-collapse:collapse;" cellspacing="0"><tr>지리산</table>
wr_id 004의 wr_content내용 :<table style="border-collapse:collapse;" cellspacing="0"><tr>북한산</table>
<table style="border 부터 </table>까지 일괄 삭제하는 쿼리문
wr_id가 10,000을 넘어서 수작업을 하다가.....
도움을 부탁드립니다.
답변 3
제 기준 도메인/test/test.php 에 이 파일을 업로드 하였습니다.
우선 테스트까지 해봤는데 정상적으로 작동하는것 같습니다. 다만.. 혹시 모르니 질문자님도 꼭 복사본을 만들어서 테스트해보신 후 적용해보세요.
해당 소스를 업로드 한 후에 도메인/test/test.php에 접속하면 소스가 실행됩니다.
확인하시고 꼭 삭제하는거 잊지마세요!
<?php
include_once('../common.php');
$table_name = 'test1' //변경할 테이블을 입력합니다;
?>
<?php
//<title>태그 없애는 소스
$sql = "select * from g5_write_$table_name";
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result);$i++){
$wr_content = $row['wr_content'];
$new_wr_content = preg_replace('(<title>(.*?)</title>)', '', $wr_content);
$u_sql = "update g5_write_$table_name set wr_content = '$new_wr_content' where wr_id = '{$row['wr_id']}'";
sql_query($u_sql);
}
?>
<?php
//테이블 태그 없애는 소스
$sql = "select * from g5_write_$table_name";
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result);$i++){
$wr_content = $row['wr_content'];
$new_wr_content = preg_replace('(<table style="border-collapse:collapse;" cellspacing="0"><tr>(.*?)</table>)', '', $wr_content);
$u_sql = "update g5_write_$table_name set wr_content = '$new_wr_content' where wr_id = '{$row['wr_id']}'";
sql_query($u_sql);
}
?>
mysql 의 update 중에 replace 문장은 정규표현식은 지원하지 않는걸로 알고 있습니다.
@JLSeagull 님의 방법으로 하시는게 최선이겠네요
그렇지 않다면 만개의 행을 덤프해서 엑셀이나 기타 다른 도구로 update 쿼리를 생성하시는 방법이 있겠죠^^