다음은 시나리오입니다. 2 개의 테이블과 2 개의 임시 테이블이 있습니다. 공식 테이블에 사용자 데이터를 삽입하기 전에이를 임시 테이블에 삽입하여 검사를 수행하도록합니다. 회사 정보와 company
테이블 및 연락처 정보를 가지고있는 contact
표가 있습니다. contact
표는 company
테이블에 대한 외래 키 인덱스 company_id
라는 필드가 있습니다.MySQL - 외래 키 인덱스로 삽입
임시 테이블은 같은 방법으로 설정됩니다. 나는이 같은 문을 사용하여 company
테이블에 새로 삽입 된 ID에 temp_company
에서 외래 키를 전송 어떻게, INSERT INTO company() SELECT * FROM temp_company;
및 INSERT INTO contact() SELECT * FROM temp_contact
내 질문은 :
내가 좋아하는 뭔가를하고 싶어? 그것을 할 수있는 방법이 있습니까?
현재 나는 :
- 가 하나
- 한 것 임시 행을 잡아 마지막 삽입 ID를 잡는 그들에게
- 를 삽입
- 다음 새 마지막 삽입 ID로 나중에 연락처를 삽입
즉 가장 효율적인 방법입니다 경우 난 그냥 모르겠어요. 감사!
유일한 문제는 내가 임시 테이블에 데이터를 빈 테이블을 채우는 있지 않다이다. 이미 많은 데이터가있는 테이블에 행을 추가하고 있습니다. –
삽입하기 전에 중복 키가 있다면 잘 모르는 문제입니까? 이 경우에, 당신은 당신이 원하는 무슨에 따라, 중복 키 INGNORE' 구문에 대한 ...은'INSERT ... 중복 키 UPDATE' 또는'INSERT ON을 사용할 수 있습니다. –