2009-10-02 72 views
0

我正在使用INSERT .. SELECT來從表中'複製'行(使用不同的外鍵)。MYSQL插入..選擇 - 具有外鍵的多個行和表?

這工作正常,但它插入多行,我現在需要做另一個INSERT插入多個行,鏈接到每個單獨的行在以前的選擇......這有意義嗎?哈哈。

基本上,table1和table2之間有一對多的關係。 table1和table3之間有一對一的關係。我從table1(及其相關的鏈接table2行)'分配'行到table3上的新行(我有這個mysql_insert_id)。我試圖用盡可能少的查詢來做到這一點。

我舉一個例子,


你有一個products表的options表和option_items表。每個option有多個option_items,每個product可以有多個options應用於它。

Product1具有適用於它的選項ColourColour有項目BlueGreenProduct1還應用了其擁有的項目SmallLargeSize選項。

我希望用新的ID複製產品,這意味着複製optionsoption_items表中的行並重新創建其相關外鍵。

我已經創建了新產品並擁有了productid。

現在我需要複製選項獲取新option的ID,複製項目並將新創建的option的ID分配給items(保留項目關係的選項)。

任何幫助將不勝感激!

+0

不行,沒有意義。請編輯並提供一些示例數據。 – longneck 2009-10-02 14:22:34

+0

我已經添加了一個例子,希望有所幫助。 – Joel 2009-10-05 08:37:00

+0

請添加表格DDL和示例查詢(到目前爲止您已經能夠找到的查詢),以便我們可以查看您要做的事情。否則,它很難回答。 – 2009-10-05 18:43:35

回答

0

對不起,廢話的問題!我結束了使用循環而不是複雜的查詢。可能不是最好的解決方案,但迄今爲止最直接的:)

感謝您閱讀傢伙。