mysql 레코드복사를 하려고 합니다.

mysql 레코드복사를 하려고 합니다.

QA

mysql 레코드복사를 하려고 합니다.

답변 1

본문

insert into tableA select * from tableB where idx='2'

 

이런 형태로 전체 레코드를 복사하려고 하는데 해당 idx 값이 primary key 라서 복사가 안되더군요

검색을 해봐도 해당 idx를 제외하고 

 

insert into tableA (컬럼1, 컬럼2) select (컬럼1, 컬럼2) from tableB where idx='2'

 

이런 형태로 하라고 하는데 컬럼이 많고 변경이 될 가능성이 있어서 primary key 외에 복사 방법이 없나요?

 

그누보드를 봐도 복사하기를 확인하니 데이터를 가져와서 하나하나 넣어서 복사를 하던데...

 

컬럼을 쓰지 않고 복사할 방법은 없는지요?

이 질문에 댓글 쓰기 :

답변 1

컬럼값을 명시하지 않고 넣는방법은 primary key 를 해제하는 방법밖에는 없습니다.

 

하지만 그 방법은 데이타를 꼬이게 만드는 요인이 될수있고, 위험합니다.

 

primary key 가 자동증가(auto_increment)라면 

그값을 제외하고 다른값을 명시하시는게 좋습니다.

 

desc table 하면 각 컬럼들이 나열되니  컬럼값을 추출해서 확인하시는게 좋습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 3
© SIRSOFT
현재 페이지 제일 처음으로