2012-05-31 44 views
0

是否可以插入具有未知的特定ID的數據,同時對該ID的引用是已知的?帶有未知ID的MySQL插入

例子:

我得到了一個車型,我知道這個名字,但我不知道它的ID。

在它被稱爲數據庫:FooBarCar 13

現在我想在一些參考表中插入FooBarCar但我不知道該ID還沒有。是否有可能將其寫入一個查詢/子查詢中,還是必須首先在單獨的查詢中選擇它?如果有可能用一個查詢/子查詢可以用多個未知的「汽車」來完成?

在此先感謝!

回答

1

您可以使用一個查詢與INSERT INTO

INSERT INTO CARTBL (carname, cartype) 
VALUES (
    'mycar', 
    (select cartypeid from CARTYPETBL where typename='cartype') 
); 
0
INSERT INTO table_ref (id, value) 
SELECT id, 'give_value' 
FROM table_car 
WHERE type = 'given_type' 

這可以處理多個刀片藏漢在一個查詢。

+0

你能給一個多版本的例子嗎?我假設'give_value'被替換爲type ='given_type'的結果? – John

+0

'give_value'基本上是一個將被插入到'value'列中的字符串。我使用'given_type'過濾類型,從'table_car'執行插入操作。這與普通的'SELECT'非常相似。 –