2014-02-21 29 views
0

我想在3個表,businessesbusiness_categoriesbusiness_id),business_detailsbusiness_id)來插入多條記錄插入許多相關的記錄,我想插入許多數據。如何在一個SQL文件

如您所見,business_categories和business_details中的數據將需要使用該企業的ID,並且在插入數據時,我仍然不知道業務ID。

在過去,我正在寫一個ruby腳本來做這件事情,但它很慢。現在我想寫一個腳本來直接生成sql文件,它可以是最快的方法。

我會寫這個。

insert into businesses(name, ..) values ("blabla", ...) 
insert into business_categories(business_id, ..) values(? ..) 
insert into business_details(business_id, ..) values(? ..) 

是否可以將正確的值設置爲?

謝謝。

回答

1

您可以將上次插入的ID保存到變量中,並在以下插入中設置該值。

https://stackoverflow.com/a/17112962/1165441

此答案的一些信息,那纔是真的好。

+0

我認爲LAST_INSERT_ID()應該在第二行工作,但在第三行,last_insert_id已更改,它已成爲最後一個business_categories的ID,我該如何插入business_details? – dexterdeng

+1

在進行第二次插入之前將其分配給變量。 – Barmar

+0

'set @lastid:= last_insert_id()' – Barmar