我想创建一个可以插入table1的SQL查询。此表引用table2和table2_id外键。
到目前为止我的sql看起来像这样:
INSERT INTO table1 (table1_id, name, date, table2_id)
VALUES (1, "somename", "29.04.2014", (SELECT id FROM table 2 WHERE table2.name = "BOB") )
如果找不到table2.name,我还想在table2中插入值,然后将其插入table1。
任何人都知道如何做到这一点?
答案 0 :(得分:2)
我建议你使用insert . . . select
而不是insert . . . values
:
INSERT INTO hovedenhet (organisasjonsnummer, navn, stiftelsesdato, registreringsdatoEnhetsregisteret, organisasjonsform_id)
SELECT 813550202, 'SAMEIET SCHWEIGAARDSGATE 21-23', '10.01.2014', '29.04.2014', id
FROM organisasjonsformhovedenhet oh
WHERE oh.organisasjonsform = 'BOB';
如果没有匹配项,原始查询将为最后一列插入NULL
值的行。在这种情况下,这不会插入任何内容。