현재 계정마다 게시판을 부여하고 있는데 서로간에 '공유기능' 이라는 것을 통해 A계정의 게시판글을 B계정의 게시판에 복사하려고 하는데요, move.php를 참고 하여 아래와 같이 체크된 글의 데이터가 Insert 되긴 하는데 wr_id값이 중복되면 쿼리가 실행이 되지 않습니다.
Copy
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개
채택된 답변
+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;
이렇게 되어야 합니다.
답변을 작성하려면 로그인이 필요합니다.