我有以下情况,我正在插入到表中,但是,在执行此操作之前,我要获取与另一个表关联的外键 ID。该外键 ID 不是简单的查找,而是需要另外两个表的 INNER JOIN 才能获取该 ID。
所以,我目前正在做的是:
-
内部连接 A、B 并获取我需要的 ID。
-
一旦我解决了上面的值,我插入到表 C 中我从步骤 1 获得的外键。
现在,我想知道是否有更好的方法来做到这一点。我可以将表 A 和 B 连接起来并在一个语句中全部插入表 C 吗?这就是我对跨表的内部连接然后插入的含义感到困惑的地方。您是否可能插入到多个表中?
可以使用插入-选择语法将查询的结果(可能涉及也可能不涉及联接(插入到另一个表中。 例如:
INSERT INTO C
SELECT col_from_a, col_from_b
FROM a
JOIN b ON a.id = b.id