DB 데이터 복사 관련 쿼리좀 봐주세요..

DB 데이터 복사 관련 쿼리좀 봐주세요..

QA

DB 데이터 복사 관련 쿼리좀 봐주세요..

본문

현재 계정마다 게시판을 부여하고 있는데 서로간에 '공유기능' 이라는 것을 통해 A계정의 게시판글을 B계정의 게시판에 복사하려고 하는데요, move.php를 참고 하여 아래와 같이 체크된 글의 데이터가 Insert 되긴 하는데 wr_id값이 중복되면 쿼리가 실행이 되지 않습니다. 



sql_query("insert into `대상테이블` select * from `현재테이블` where wr_id = '$wr_id_list[$i]' ");


다시 말씀드리면, 복사하고자 하는 A게시판 글의 wr_id 가 1,2번이고 복사되어 들어가는 대상 테이블글의 wr_id가 1,2와같이 같다면 추가되는 글의 wr_id는 3,4처럼 증가된값이 들어가게 하는 부분을 move_update.php에 어떤부분이 그렇게 작동 하는 건가요?

이 질문에 댓글 쓰기 :

답변 1

대상, 현재 테이블이 동일한 테이블이고

해당 필드가 AUTO_INCREMENT 로 잡혀있으면 프로그램 에서의 설정이랑은 상관없이

DB 단에서 자체적으로 튕겨내는 키중복 오류입니다.


대충 아래와 같은 테이블이 있다고 하면


CREATE TABLE a(

wr_id int(11) NOT NULL AUTO_INCREMENT,

f1 varchar(20) NOT NULL,

f2 varchar(20) DEFAULT NULL, 

PRIMARY KEY(wr_id)

);


INSERT INTO a (f1,f2) SELECT f1, f2 FROM a WHERE wr_id = 1;


이렇게 되어야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 211
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT