我正在使用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
项和Green
,Product1
也有{已应用{1}}选项,其中包含项Size
和Small
。
我希望使用新ID复制产品,这意味着复制Large
和options
表中的行并重新创建相关的外键。
我已经创建了新产品并拥有了productid。
现在我需要复制选项获取新option_items
的ID,复制项目并将新创建的option
的ID分配给option
(维护选项为项目关系)。
非常感谢任何帮助!
答案 0 :(得分:0)
抱歉这个垃圾问题!我最后只使用循环而不是复杂的查询。可能不是最好的解决方案,但到目前为止最直接的解决方案:)
感谢您阅读。