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