도움요청 .. mysql 테이블의 여유필드값의 수정 정보
도움요청 .. mysql 테이블의 여유필드값의 수정본문
p.s; 새벽에 고민을 하다가 마땅한 로직이 생각이 나질 않아서 도움글을 좀 부탁해봅니다
작업칼럼명 기존 필드값 변경 필드값
-------------------------------------------
wr_7 1031|52000 1031|55000
wr_7 1037|52000 1037|55000
wr_7 1047|52000 1047|55000
wr_7 1060|52000 1060|55000
wr_7 1096|52000 1096|55000
wr_7 1105|52000 1105|55000
wr_7 1107|52000 1107|55000
wr_7 1114|52000 1114|55000
wr_7 1122|52000 1122|55000
wr_7 1186|52000 1186|55000
wr_7 1194|52000 1194|55000
wr_7 1202|52000 1202|55000
wr_7 1203|52000 1203|55000
wr_7 1207|52000 1207|55000
wr_7 1255|52000 1255|55000
wr_7 1281|52000 1281|55000
wr_7 1309|52000 1309|55000
wr_7 1318|52000 1318|55000
wr_7 1349|52000 1349|55000
wr_7 1361|52000 1361|55000
wr_7 1388|52000 1388|55000
....
....
....
'g4_write_01' 이라는 테이블의 'wr_7' 칼럼에 위와 같이 기존필드값이 들어가 있고
이것을 '변경필드값'으로 수정하려고 합니다.
위를 보시면 아시겠지만, 실제 수정되는 값은 52000 ---> 55000 으로 변경하는것인데
한개씩 수정하려면 아래처럼 하면 되겠지만....
<?
// 접속자 도구 추가
$host = 'localhost'; //호스트
$user = ''; //계정명
$password = ''; //패쓰워드
$db = ''; //데이타베이스명
$con = mysql_connect($host, $user ,$password);
mysql_select_db($db,$con);
//-- 실행테이블 및 칼럼
$tbl_name = 'g4_write_01'; // 테이블명
$col_name = 'wr_7'; // column
//-- 필드값 변경 (한개씩...-_- ;; )
$sq1 = " update $tbl_name set $col_name = '1031|55000' where $col_name = '1031|52000' ";
mysql_query($sq1);
?>
값이 한두개가 아니다 보니, 위처럼 일일히 작업하는 무식한 방법을 쓰려면 한 세월 걸릴듯 합니다
좀더 간단한 방법으로 일괄변경할수 있는 방법이 없을런지요??
도움글을 좀 부탁드려 봅니다
작업칼럼명 기존 필드값 변경 필드값
-------------------------------------------
wr_7 1031|52000 1031|55000
wr_7 1037|52000 1037|55000
wr_7 1047|52000 1047|55000
wr_7 1060|52000 1060|55000
wr_7 1096|52000 1096|55000
wr_7 1105|52000 1105|55000
wr_7 1107|52000 1107|55000
wr_7 1114|52000 1114|55000
wr_7 1122|52000 1122|55000
wr_7 1186|52000 1186|55000
wr_7 1194|52000 1194|55000
wr_7 1202|52000 1202|55000
wr_7 1203|52000 1203|55000
wr_7 1207|52000 1207|55000
wr_7 1255|52000 1255|55000
wr_7 1281|52000 1281|55000
wr_7 1309|52000 1309|55000
wr_7 1318|52000 1318|55000
wr_7 1349|52000 1349|55000
wr_7 1361|52000 1361|55000
wr_7 1388|52000 1388|55000
....
....
....
'g4_write_01' 이라는 테이블의 'wr_7' 칼럼에 위와 같이 기존필드값이 들어가 있고
이것을 '변경필드값'으로 수정하려고 합니다.
위를 보시면 아시겠지만, 실제 수정되는 값은 52000 ---> 55000 으로 변경하는것인데
한개씩 수정하려면 아래처럼 하면 되겠지만....
<?
// 접속자 도구 추가
$host = 'localhost'; //호스트
$user = ''; //계정명
$password = ''; //패쓰워드
$db = ''; //데이타베이스명
$con = mysql_connect($host, $user ,$password);
mysql_select_db($db,$con);
//-- 실행테이블 및 칼럼
$tbl_name = 'g4_write_01'; // 테이블명
$col_name = 'wr_7'; // column
//-- 필드값 변경 (한개씩...-_- ;; )
$sq1 = " update $tbl_name set $col_name = '1031|55000' where $col_name = '1031|52000' ";
mysql_query($sq1);
?>
값이 한두개가 아니다 보니, 위처럼 일일히 작업하는 무식한 방법을 쓰려면 한 세월 걸릴듯 합니다
좀더 간단한 방법으로 일괄변경할수 있는 방법이 없을런지요??
도움글을 좀 부탁드려 봅니다
댓글 전체

지금 하신 방법은 결국 하나씩 변경되는 것 같은데요 뒤 부분만을 변경하실거면...wr_1 을 배열로....설정해서....수정하시면 한번에 가능합니다.
$wr_1_ARR = explode("|",$row[wr_1])
$row[wr_1] <<-- 이것은 하실줄 안다고...생각하고 넘어갑니다.
$sq1 = " update g4_write_01 set wr_1 = '$wr_1_ARR[0]|55000' ";
mysql_query($sq1);
이렇게 처리하면 한방에 될것입니다.
참고로 저도 초보이니..하실때는 꼭 DB백업을 하시고..해주세요..ㅎㅎ
$wr_1_ARR = explode("|",$row[wr_1])
$row[wr_1] <<-- 이것은 하실줄 안다고...생각하고 넘어갑니다.
$sq1 = " update g4_write_01 set wr_1 = '$wr_1_ARR[0]|55000' ";
mysql_query($sq1);
이렇게 처리하면 한방에 될것입니다.
참고로 저도 초보이니..하실때는 꼭 DB백업을 하시고..해주세요..ㅎㅎ
댓글 감사합니다..근데...
$row[wr_1] <<-- 이것은 하실줄 안다고...생각하고 넘어갑니다. <--- 이걸 몰겠습니다. 또.. wr_1 이 어디서 나온건가요?? -_- ;;
그럼 아래처럼 하면 ... ?
$sql = " select wr_id,wr_7 from g4_write_01 order by wr_id asc ";
$result = mysql_query($sql);
for($i=0;$i<$row=mysql_fetch_array($result);$i++) {
$temp = explode("|",$row[wr_7]);
$sql = " update g4_write_01 set wr_7 = '$temp[0]|55000' where wr_id = '$row[wr_id]' ";
mysql_query($sql);
}
$row[wr_1] <<-- 이것은 하실줄 안다고...생각하고 넘어갑니다. <--- 이걸 몰겠습니다. 또.. wr_1 이 어디서 나온건가요?? -_- ;;
그럼 아래처럼 하면 ... ?
$sql = " select wr_id,wr_7 from g4_write_01 order by wr_id asc ";
$result = mysql_query($sql);
for($i=0;$i<$row=mysql_fetch_array($result);$i++) {
$temp = explode("|",$row[wr_7]);
$sql = " update g4_write_01 set wr_7 = '$temp[0]|55000' where wr_id = '$row[wr_id]' ";
mysql_query($sql);
}
저렇게 날리시면 위험합니다 ; 다날라갑니다.
where 값이 없습니다.
where 값이 없습니다.
$tbl_name = 'g4_write_thule_10'; // 실행할 테이블명
$col_name = 'wr_7'; // 수정칼럼
//-- 필드값 채우기
$sql = " UPDATE $tbl_name SET $col_name = REPLACE($col_name, '52000', '55000') ";
mysql_query($sq1);
.............. 위처럼 해도 먹히지가 않는군요 -_- ;;
$col_name = 'wr_7'; // 수정칼럼
//-- 필드값 채우기
$sql = " UPDATE $tbl_name SET $col_name = REPLACE($col_name, '52000', '55000') ";
mysql_query($sq1);
.............. 위처럼 해도 먹히지가 않는군요 -_- ;;