쿼리를 사용하여 동일한 MySQL 테이블 내에서 행을 복제하려고 시도하는 경우:
insert into table select * from table where primarykey=1
기존 기본 키 제약으로 인해 중복 입력 오류가 발생할 수 있습니다. 임시 테이블을 사용하여 이 문제를 피할 수 있지만 더 간단한 해결책이 있습니다.
Leonard Challis에서 영감을 받은 다음 수정된 기술을 사용합니다.
CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1; UPDATE tmptable_1 SET primarykey = NULL; INSERT INTO table SELECT * FROM tmptable_1; DROP TEMPORARY TABLE IF EXISTS tmptable_1;
설명:
기본 키를 NULL로 설정하면 중복 항목이 생성될 위험이 사라집니다. 또한 INSERT INTO 문 끝에 LIMIT 1을 추가하면 하나의 행만 삽입됩니다.
임시 테이블 이름에 기본 키 값을 추가하는 것은 여러 행이 삽입될 때 잠재적인 충돌을 방지하기 위한 예방 조치입니다. 동시에 복제됩니다.
위 내용은 중복 항목 오류 없이 MySQL에서 행을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!