AAA DB의 특정테이블의 정보를 BBB DB로 옮기는 쿼리는 어떻게 해야할까요? 채택완료
두개 db에 접속을 해야할텐데..
// 1. 연결 : mysql_connect(호스트명, 아이디, 비밀번호)
$connA = mysql_connect('localhost', 'abc', 'ne.co'); //db 연결부분
$connB = mysql_connect('localhost', 'bbc', 'eo.co'); //db 연결부분
// 2. DB 선택 : mysql_select_db(해당 db명, $conn)
$srcDB = mysql_select_db("AAA", $connA);
mysql_query('set names utf8');
$tarDB = mysql_select_db("BBB", $connB);
mysql_query('set names utf8');
// DB에 table 쿼리(query 질의).
$srcTable = "g5_write_aa"; // source 테이블
$tarTable = "g5_write_bb"; // target 테이블
아래 쿼리는 하나의 DB에서 특정 필들의 데이타를 다른 테이블로 옮길 때 사용했던건데요
DB가 두개라서, srcDB와 tarDB를 두개 모두 접속을 해야하는데
쿼리는 어떻게 해야할지?
$sql = "insert into $tarTable (wr_subject, wr_content, wr_option, mb_id, wr_name, wr_datetime, wr_hit ) (select wr_subject, wr_content, wr_option, mb_id, wr_name, now(), wr_hit from $srcTable where wr_id =1231 " ;
mysql_query($sql, $connB);
답변 3개
php 로 하려면 AAA.g5_write_aa 를 모두 읽어와 루프 돌면서 BBB.g5_write_bb에 일일이 한레코드씩 넣어줘야 합니다.
터미널에 접속 가능하고 AAA, BBB 모두 접근 가능하다면
insert into BBB.g5_write_bb select * from AAA.g5_write_aa
이런식으로 넣을수있습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
디비이전이 목적이 아니라
위 기능을 php (웹기능) 으로 구현을 해야하나요?
같은서버에 디비계정만 다를경우는 한번의 쿼리로 가능하지만
서버가 다른경우는 작업도 코딩도 난해할거같네요.
여러방법이 있겠지만
aaa서버에 디비 내용을 뿌려주고 for문 안에서
bbb서버 로 연결된 디비에 insert 해줘야할듯
물론 bbb서버 커넥션은 for문 위에다 선언합니다.
글을쓰다보니 위에 k찰스님 답변하고 같네요..
* 구현하는 이유가 있겠지만 업무적으로 접근하면,
디비이전이 목적이 아닐까싶습니다.. 질문하신 내용의 기능은 1회성으로 동작하는 기능으로 보여지며
서비스페이지로는 적합하지않습니다.
잘 사용하지않는 방법입니다. 물론 test나 다른이유가 있으면 지금 멘트는 무시해주세요~
디비이전이 목적이라면 더 쉬운방법으로 접근하실수있습니다.
답변에 대한 댓글 1개
AAA db에 있는 일부정보만 주기적으로 복사를 해야하는데...
방법을 찾고 있거든요...
하나의 DB에서 처리를 진행하고 있는데...DB가 달라진 케이스도 해야 하는 상황이라서
방법을 고민 중입니다.
댓글을 작성하려면 로그인이 필요합니다.
http://sir.kr/g5_plugin/766?sfl=mb_id%2C1&stx=rido">http://sir.kr/g5_plugin/766?sfl=mb_id%2C1&stx=rido
예전에 그냥 기본만 만들어둔 자료인데
활용하시면 원하는 기능을 개발 하실 수 있을겁니다.
답변에 대한 댓글 1개
다운받아서 테스트 해봐야겠군요 감사드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인