我想创建一个可以插入到表 1 中的 sql 查询。此表使用 table2_id 外键引用 table2。
到目前为止,我的 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。
有人知道怎么做吗?
最佳答案
我建议您使用 insert 。 . .选择
而不是 insert 。 . .值(value)观
:
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
值的行。在这种情况下,这不会插入任何内容。
关于mysql - SQL 选择并插入(如果不存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609240/