답변 4개
g5_write_aaa : 원본테이블
g5_write_bbb : 백업테이블
원본테이블을 읽어서 백업테이블과 다른경우에 해당 컬럼을 변경합니다.
제가 테스트까지 안했어요.
오류가 있으면 알려주세요. ^^
$sql = " select * from g5_write_aaa ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$b = get_board($row[wr_id]);
if($row[wr_1]!=$b[wr_1]) {
$sqlu = " update g5_write_aaa set wr_1 = '$b[wr_1]' where wr_id = $row[wr_id] ";
sql_query($sqlu);
}
}
// 해당게시판의 정보를 얻는다.
function get_board($wr_id, $fields='*')
{
global $g5;
return sql_fetch(" select $fields from g5_write_bbb where wr_id = TRIM('$wr_id') ");
}
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
기본적으로 상단에
include_once('./_common.php'); 는 해주셔야 합니다....
바로 업데이트 하지 마시고
// sql_query($sqlu); 하시고
echo $sqlu 해서 얼나마 변경이 되는지 확인해주세요.
바로 업데이이트 하면 안됩니다.
뭐가 잘못됐는지 분석이 필요하니까요...
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
1. php문으로 돌리려 하는 방법은 해당값이 변경이 됐는지 비교를 할수 있습니다.
값이 다른 경우만 업데이트 시키면 되겠죠.
2. phpMyAdmin 에서는 해당부분만 해당필드에 업데이트 시키면 되겠죠.
강제로 업데이트 시키는 거죠.
저는 1번을 추천해드리겠습니다.
값이 달라진 부분만 출력해서 보고, 왜 변했는지도 확인 가능하니까요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
여러가지 방법중에서...
1. 백업받은 테이블의 이름을 변경해서 올립니다.
2. 기존 디비와 백업에서 올린디비의 wr_id 값으로 체크해서 동일한 것만 해당필드(wr_xx)값을 update 시킵니다.
3. 복구시킨 디비의 내용을 확인합니다.
4. 백업했던 디비는 삭제합니다.
답변에 대한 댓글 1개
2번의 아이디값체크후 동일한 것만 해당필드에 없데이트 시키는 방법이 복잡한가요?
혹시 마이피에치피어드민에서 sql구문으로 가능하다면 알려주시면 감사하겠습니다.
insert into g5_write_abc(wr_xx) select wr_xx from g5_write_def; 이렇게 하면될까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이소스를 1234.php로 저장하고 웹에서 접속하면 되는건가요?
너무 몰라 죄송합니다..유유