ID
, name
, email
및 advisorID
을 포함하는 테이블 STUDENT
이 있다고 가정합니다. 그리고 두 번째 테이블 ADVISOR
에는 ID
과 name
을 포함한 필드가 있습니다. STUDENT.AdvisorID
은 외래 키입니다. 학생을 삽입 할 때 ADVISOR
을 가리키는 열쇠가 있어야합니다.INSERT INTO ... SELECT ... FROM ... 어디에서 작동합니까?
그러나 응용 프로그램에서 학생을 추가 할 때 ADVISOR
이름 만 있습니다. 즉, 특정 학생의 이름과 이메일뿐만 아니라 고문의 이름이있는 문자열이 있지만 Advisor ID는 없습니다.
어쨌든 나는 이것을 수행하는 방법에 대해 머리를 감쌀 수 없습니다. 나는 그것이 일반적인 상황임을 압니다. 그리고 저는 심지어 과거에 stackoverflow에서 한 두 개의 비슷한 질문을했습니다. 나는 우리가 INSERT INTO ... SELECT ... FROM ..에 대해 이야기하고 있다는 것을 알고있다. WHERE 절이 advisor.name = 'anAdvisorName'이라고 가정합니다. 그러나 삽입되는 정보 중 일부는 테이블에 있고 일부는 그렇지 않다는 사실에 고심하고 있습니다. (이러한 종류의 문장에 대한 토론은 삽입되는 모든 데이터가 두 번째 테이블에있는 경우를 중심으로하는 것 같아요. 내가 말한 것이 아닙니다.)
p.s. 간단, 중복 항목, 같은 이름을 가진 여러 자문 등에 대해 걱정하지 마십시오하려면
이 도움이됩니다. 나는이 문맥에서 SELECT 문이 항상 (다른 테이블에서) 뭔가를 선택하는 것을 포함한다고 생각 해왔다. SELECT 문에 필드 값을 직접 포함 할 수 있는지 알지 못했습니다. 그것은 여전히 조금 직관력이 부족한 것 같지만, 정말로 잘 알고 있습니다. 고맙습니다. –