假设我有一个表STUDENT
,其中的列包括ID
、name
、email
和advisorID
。我有第二个表ADVISOR
,其中包含ID
和字段name
。STUDENT.AdvisorID
是外键。插入学生时,您必须有一个指向ADVISOR
.
但是,从应用程序中插入学生时,您只有一个ADVISOR
姓名。换句话说,您有包含特定学生姓名和电子邮件以及顾问姓名的字符串,但没有顾问 ID。
不知何故,我就是无法理解如何做到这一点。我知道这是一种常见的情况,我什至发现过去在 stackoverflow 上问过一两个类似的 Q。我知道我们在谈论 INSERT INTO ... SELECT ... FROM .. WHERE。我假设 WHERE 子句是 advisor.name='anAdvisorName' 但我正在为插入的一些信息来自表而有些不是这一事实而苦苦挣扎。(关于这种说法的讨论似乎集中在所有插入的数据都来自第二个表的实例上。这不是我在说的。)
ps 为简单起见,请不要担心重复条目、多个顾问同名等问题。