MYSQL插入..选择 - 多行&带外键的表?

时间:2009-10-02 11:31:47

标签: php sql mysql

我正在使用INSERT .. SELECT来从表中“复制”行(使用不同的外键)。

这样可以正常工作,但它插入了多行,我现在需要再做一次INSERT来插入链接到前一个SELECT中每一行的多行...这是否有意义?哈哈。

基本上table1和table2之间存在一对多的关系。 table1和table3之间存在一对一的关系。我正在将table1中的行(以及它们相关的链接table2行)分配给table3上的新行(我有这个的mysql_insert_id)。我试着用尽可能少的查询来做这件事。

我举一个例子,


您有一个products表,一个options表和一个option_items表。每个option都有多个option_items,每个product可以应用多个options

Product1已应用Colour选项,Colour包含Blue项和GreenProduct1也有{已应用{1}}选项,其中包含项SizeSmall

我希望使用新ID复制产品,这意味着复制Largeoptions表中的行并重新创建相关的外键。

我已经创建了新产品并拥有了productid。

现在我需要复制选项获取新option_items的ID,复制项目并将新创建的option的ID分配给option(维护选项为项目关系)。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

抱歉这个垃圾问题!我最后只使用循环而不是复杂的查询。可能不是最好的解决方案,但到目前为止最直接的解决方案:)

感谢您阅读。