두개의 DB 테이블 하나로 합치는 방법 문의 드립니다. 채택완료
안녕하세요
정말 도움을 많이 받고있는 그누보드 입문유저입니다.
다름이 아니라 전에 사용한 그누보드에서 회원정보를 담당하는
g5_member 테이블을 백업하여 가지고 있다가
이번에 새로 그누보드를 만들어 운영중인 곳에 넣으려고 하는데
제 부족한 생각으로는 복원을 하면 알아서 합쳐지겠지 라고 생각했는데
같은 이름의 테이블이 있다고 복원도 되지 않더라고요.
임시 방편으로 새 그누보드의 g5_member 테이블 이름을 g5_member_1 로 잠시 바꾸고
기존 g5_member 테이블 복원시켜 놓은 상태입니다.
네이버랑 구글 열심히 찾아보니 UNION 명령어가 두 테이블을 합칠수 있다하여
아래와 같이 했는데 뭔가 작업되어진것처럼 막 쏴르르 처리되는것 같은데
실상 DB를 확인하면 아무 변화가 없더라고요.
SELECT * FROM g5_member UNION SELECT * FROM g5_member_1;
고수님들께 도움을 요청드립니다.
어떻게 해야 g5_member_1 와 g5_member를 합칠수 있을까요? ㅠㅠ
답변 4개
select 는 데이터를 추출하는 명령어입니다.
데이터를 삽입하는 명령어는 insert 입니다.
※ https://zetawiki.com/wiki/SQL_SELECT_%EA%B2%B0%EA%B3%BC%EB%A5%BC_INSERT_%ED%95%98%EA%B8%B0
</p>
<p>insert into g5_member</p>
<p>select null, mb_id, ...</p>
<p> from g5_member_1</p>
<p>
(select null, mb_id, .. 부분은 g5_member 의 칼럼을 순서대로 모두 기입해야 됩니다. null 을 첫번째로 넣어주는 이유는 mb_no 칼럼이 자동증가 칼럼이기 때문)
답변에 대한 댓글 3개
insert into g5_member
select null, mb_id, ...
from g5_member_1
where mb_id not in (select mb_id from g5_member)
[/code]
이걸 사용하시면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
임시 방편으로 새 그누보드의 g5_member 테이블 이름을 g5_member_1 로 잠시 바꾸고
기존 g5_member 테이블 복원시켜 놓은 상태입니다.
==
insert into g5_member_1 ( mb_id, ...., mb_9, mb_10) select mb_id, mb_9, mb_10 from g5_member where mb_id!='admin'
하시면 됩니다만 중복되는 mb_id가 없어야 합니다.
댓글을 작성하려면 로그인이 필요합니다.
중복되는 데이터가 없으시면
insert into select 하시면 됩니다
</p>
<pre>
INSERT INTO 목적지테이블
(컬럼명1, 컬럼명2, 컬럼명3)
SELECT 컬럼명1, 컬럼명2, 컬럼명3
FROM 출발지테이블</pre>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인