我正在使用INSERT .. SELECT来从表中'复制'行(使用不同的外键)。MYSQL插入..选择 - 具有外键的多个行和表?
这工作正常,但它插入多行,我现在需要做另一个INSERT插入多个行,链接到每个单独的行在以前的选择......这有意义吗?哈哈。
基本上,table1和table2之间有一对多的关系。 table1和table3之间有一对一的关系。我从table1(及其相关的链接table2行)'分配'行到table3上的新行(我有这个mysql_insert_id)。我试图用尽可能少的查询来做到这一点。
我举一个例子,
你有一个products
表的options
表和option_items
表。每个option
有多个option_items
,每个product
可以有多个options
应用于它。
Product1
具有适用于它的选项Colour
和Colour
有项目Blue
和Green
,Product1
还应用了其拥有的项目Small
和Large
的Size
选项。
我希望用新的ID复制产品,这意味着复制options
和option_items
表中的行并重新创建其相关外键。
我已经创建了新产品并拥有了productid。
现在我需要复制选项获取新option
的ID,复制项目并将新创建的option
的ID分配给items
(保留项目关系的选项)。
任何帮助将不胜感激!
不行,没有意义。请编辑并提供一些示例数据。 – longneck 2009-10-02 14:22:34
我已经添加了一个例子,希望有所帮助。 – Joel 2009-10-05 08:37:00
请添加表格DDL和示例查询(到目前为止您已经能够找到的查询),以便我们可以查看您要做的事情。否则,它很难回答。 – 2009-10-05 18:43:35