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

1만건정도 게시물을 복사를 하려고 합니다. 채택완료

아길이 9년 전 조회 3,310

두게의 게시판을 합칠려고 하는데요

어떻게 하는것이 좋을까요?

 

두개의 게시판의 필드가 같다면

A게시판을 B게시판에 복사하는 좋은 쿼리문이라도 있나요?

 

조언 부탁 드립니다.

 

감사 합니다.

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

답변 1개

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

그냥 단순히 A테이블의 데이터를 B테이블로 옮긴다고 하면(단, 필드가 똑같을 경우)

 

INSERT INTO (B테이블명) SELECT * FROM (A테이블명) ORDER BY 컬럼명 

 

해주시면 됩니다. 

 

여기서 고려해야할 사항은 보통 테이블에 PRIMARY KEY 컬럼이 하나 잡혀 있을건데 

 

예를 들어 그누보드 게시판일 경우 wr_id값이 중복되어 에러를 뱉을거에요. 

 

그럴경우 PRIMARY KEY를 제외한 다른 컬럼을 모두 써주면 됩니다. 

 

INSERT INTO (B테이블명) (컬럼1, 컬럼2, 컬럼3....) SELECT (컬럼1, 컬럼2, 컬럼3....) FROM (A테이블명)

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

답변에 대한 댓글 3개

아길이
9년 전
그럼 wr_id 값은 자동으로 들어가나요?
wr_id 값은 넣어야 할텐데요.

코멘트도 맞춰줘야 할거구요
wr_parent 요
썽피리
9년 전
wr_id 값은 auto_increment 때문에 순차적으로 자동으로 입력됩니다.
wr_parent가 문젠데 게시물만 있다면 wr_id 처럼 제외하고 입력하신후
UPDATE (B테이블) SET wr_parent=wr_id WHERE wr_parent=0
쿼리 날려주시면 해결하실수 있습니다. 그런데 댓글이 달려있을경우 댓글이 작성글 wr_parent값을
물고 가기 때문에 쿼리로만 해결하시기엔 어려움이 있습니다.

그리고 게시판을 옮기시는거라면 wr_parent도 문제지만 wr_id값도 바뀌기 때문에 첨부파일쪽도
신경쓰셔야 합니다. 간단한 프로그램을 하나 짜서 하시는게 좋을듯 보입니다.
아길이
9년 전
감사 합니다.
wr_id 가 auto_increment 이면 그누에서는 왜 가장작은 수를 늘 찾아 지정하는지 모르겠네요.
다행이 에디터만 혀용해서 첨부파일같은것은 없는 상황입니다.
아무래도 프로그램을 만들어야 할려나 봅니다.
감사 드립니다.

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

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

로그인