MySQL插入未知ID

时间:2012-05-31 08:27:21

标签: mysql insert subquery

是否可以在知道对该ID的引用时插入具有未知特定ID的数据?

示例:

我有车型,我知道这个名字,但我不知道它的ID。

在数据库中它被称为:FooBarCar 13

现在我想在一些参考表中插入FooBarCar,但我还不知道id。是否可以将其写入一个查询/子查询中,还是必须先在单独的查询中选择它?如果可以使用一个查询/子查询,可以使用多个未知的'汽车'吗?

提前感谢!

3 个答案:

答案 0 :(得分:1)

INSERT INTO table_a(`Name`,`cID`,`another_field`) 
VALUES('Something',
(SELECT id FROM table_b tb WHERE tb.cat = '5'),
'somethingelse')

来源:http://www.webdeveloper.com/forum/showthread.php?t=76538

答案 1 :(得分:1)

您可以对INSERT INTO

使用一个查询
INSERT INTO CARTBL (carname, cartype ) 
VALUES (
    'mycar',
    (select cartypeid from CARTYPETBL where typename='cartype')
);

答案 2 :(得分:0)

INSERT INTO table_ref (id, value)
SELECT id, 'give_value'
FROM table_car
WHERE type = 'given_type'

这可以在一个查询中处理多个插入。