부모 테이블 table1에 연결된 테이블, 예를 들어 table2가 있습니다. 또한 table3에 연결되어있는 table2에 해당 내용을 복사하려고합니다. Table3에는 외래 키 열에 table1에없는 일부 값이있을 수 있습니다. & 값을 복사하려고하면 오류가 발생합니다. 부모 테이블에 참조가있는 레코드 만 복사하려면 어떻게해야합니까?참조 키가있는 테이블에 레코드를 복사 할 수 없습니다.
답변
insert into table2 (col1, col2, ...)
select col1, col2, ... from table3
where table3.refcol in (select keycol from table1)
물론 샘플을 실제 열 이름으로 바꿔야합니다. :-)
이것은 kaps가 게시 한 응답에 사용 된 조인보다 훨씬 효율적이지 않습니다. –
실제 데이터 형식, 테이블 크기 및 인덱스 사용에 대해 알지 못해서 그런 말을하는 것은 이상합니다 ... mysql의 쿼리 최적화 프로그램에 약간의 신뢰를 줄 것을 권합니다.) –
안녕하세요 쿠바. 내 의견은 데이터 유형, 테이블 크기 또는 색인에 관계없이 적용됩니다. IN()을 사용하여 조인을 에뮬레이트하는 것은 안티 패턴입니다. –
Insert into Table2 (<columnList>)
Select <columnlist>
From Table3 Inner join Table1
On Table3.fieldFromTable3 = Table1.ReferredFieldFromTable1
원하는대로 열을 사용하고 조인에 적절한 필드 이름을 입력하십시오.
- 1. ADO.NET 테이블에 외래 키가있는 새 레코드를 삽입하십시오.
- 2. 기존 참조 키가있는 많은 JPA에 하나의 테이블에 입력
- 3. 데이터베이스를 복사 할 수 없습니다
- 4. 목록을 복사 할 수 없습니다.
- 5. 외래 키가있는 테이블에 대량 삽입
- 6. 테이블에 삽입 할 수 없습니다.
- 7. 기본 키가있는 레코드를 URL에로드 하시겠습니까?
- 8. 프로젝트에 파일을 복사 할 수 없습니다.
- 9. 관련 레코드가 테이블에 필요하기 때문에 레코드를 추가하거나 변경할 수 없습니다.
- 10. 외래 키가있는 테이블에 PDO 삽입
- 11. Windows 서비스에서 dll을 참조 할 수 없습니다.
- 12. 테이블에 레코드를 추가 할 때 NullReferenceException이 발생합니다.
- 13. SqlBulkCopy 복합 기본 키가있는 테이블에
- 14. 복합 키가있는 테이블에 엔티티 유형이 생성되지 않았습니다.
- 15. 동일한 테이블에 여러 키가있는 SQL where 절
- 16. 참조 무결성이있는 SQL 대량 복사
- 17. LINQ에서 SQL로 레코드를 업데이트 할 수 없습니다.
- 18. sqlite에서 가져온 레코드를 표시 할 수 없습니다.
- 19. 데이터베이스에 레코드를 추가 할 수 없습니다.
- 20. Android에서 애셋에서 db를 복사 할 수 없습니다.
- 21. 공개/개인 키가있는 plink로 연결할 수 없습니다
- 22. SQL Server 2005의 기존 테이블에서 새 테이블에 레코드를 삽입 할 수 없습니다.
- 23. 레코드를 삭제할 수 없습니다.
- 24. 레코드를 저장할 수 없습니다.
- 25. iPhone : MainBundle에서 NSDocumentDirectory로 복사 할 수 없습니다.
- 26. Ruby 객체의 속성을 복사 할 수 없습니다.
- 27. 버퍼에 파일의 내용을 복사 할 수 없습니다
- 28. Python이 목록에 항목을 복사 할 수 없습니다.
- 29. SQLiteOpenHelper에서 자산을 복사 할 수 없습니다.
- 30. zclip을 사용하여 복사 할 수 없습니다.
지금까지 시도한 것을 보여줄 수 있습니까? –