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

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

우동군 8년 전 조회 2,249

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


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


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

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

답변 1개

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

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

해당 필드가 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;


이렇게 되어야 합니다.

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

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

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

로그인