테스트 사이트 - 개발 중인 베타 버전입니다

두개의 DB 테이블 하나로 합치는 방법 문의 드립니다. 채택완료

b88209 3년 전 조회 2,458

안녕하세요

정말 도움을 많이 받고있는 그누보드 입문유저입니다.

 

다름이 아니라 전에 사용한 그누보드에서 회원정보를 담당하는

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개

채택된 답변
+20 포인트
3년 전

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개

b
b88209
3년 전
중복되는 데이터가 있어서 에러가 뜨는거 같은데 고수님 혹시 중복데이터가 있을시 덮어씌우고 합치는 방법도 있을까요?
마르스컴퍼니
3년 전
[code]
insert into g5_member
select null, mb_id, ...
from g5_member_1
where mb_id not in (select mb_id from g5_member)
[/code]
엑스엠엘
3년 전
https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
이걸 사용하시면 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

임시 방편으로 새 그누보드의 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개

b
b88209
3년 전
중복되는 데이터가 있어서 에러가 뜨는거 같은데 고수님 혹시 중복데이터가 있을시 덮어씌우고 합치는 방법도 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

dadf
3년 전

phpmyadmin에서 member 테이블에 들어가셔서 가져오기 누르시고 member1 데이터 넣어주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

b
b88209
3년 전
phpmyadmin은 간혹 timeout 에러가 많이 나더라고요 ㅠㅠ
혹시 명령어로는 따로 없을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인