>데이터 베이스 >MySQL 튜토리얼 >INSERT INTO...SELECT를 사용하여 MySQL에서 한 테이블의 모든 열을 다른 테이블에 올바르게 삽입하는 방법은 무엇입니까?

INSERT INTO...SELECT를 사용하여 MySQL에서 한 테이블의 모든 열을 다른 테이블에 올바르게 삽입하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-07 19:57:13496검색

How to Correctly Insert All Columns from One Table to Another in MySQL Using INSERT INTO...SELECT?

INSERT INTO...SELECT를 사용하여 대상 테이블에 모든 열 삽입

와일드카드(*) 선택이 포함된 INSERT INTO 문입니다. 문제를 해결하고 작동하는 솔루션을 찾아보겠습니다.

열 이름을 지정하지 않고 (*)를 사용하여 모든 열을 선택하면 오류가 발생합니다. MySQL 매뉴얼에 설명된 대로 올바른 구문을 사용하려면 열 이름을 명시적으로 나열해야 합니다.

올바른 코드는 다음과 같습니다.

INSERT INTO this_table_archive (col1, col2, ..., coln)
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00';

col1, col2, ..., coln 바꾸기 테이블의 실제 열 이름과 함께.

id 열과 관련하여 두 테이블 모두 자동 증가 ID가 있고 데이터가 이미 존재하는 경우 두 테이블 중 하나에서 잠재적인 중복 키 충돌을 피하기 위해 쿼리의 열 목록에서 id를 생략하는 것을 고려할 수 있습니다.

빈 대상 테이블의 경우 이러한 생략은 문제를 일으키지 않습니다. 그러나 데이터가 있는 테이블의 경우 id 열을 제외하면 복사된 행에 대해 새로운 고유 ID가 생성됩니다.

위 내용은 INSERT INTO...SELECT를 사용하여 MySQL에서 한 테이블의 모든 열을 다른 테이블에 올바르게 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.