Php 使用来自另一个表的数据更新整个MySQL表的最佳方法是什么

Php 使用来自另一个表的数据更新整个MySQL表的最佳方法是什么,php,mysql,select,sql-update,Php,Mysql,Select,Sql Update,我正在构建一个新的功能,并有一个如何实现它的想法,但是可能有一个更好的方法,这是我没有想到的。因此,任何“疯狂”的想法都是受欢迎的 情况就是这样: 我有一个products表,其中包含9种不同类型的产品。我们称之为tbl_所有产品。此表包含约10万条记录,并定期更新,用户可以添加/删除产品,也可以使用自动脚本(如删除过时的产品)。因此,可以理解的是,表ID中会有漏洞,产品类型订单中会有很多变化 现在我想做的是准备一个新的cron,它将仅在prod_id='1'的地方从tbl_all_产品中提取产

我正在构建一个新的功能,并有一个如何实现它的想法,但是可能有一个更好的方法,这是我没有想到的。因此,任何“疯狂”的想法都是受欢迎的

情况就是这样:

我有一个products表,其中包含9种不同类型的产品。我们称之为tbl_所有产品。此表包含约10万条记录,并定期更新,用户可以添加/删除产品,也可以使用自动脚本(如删除过时的产品)。因此,可以理解的是,表ID中会有漏洞,产品类型订单中会有很多变化

现在我想做的是准备一个新的cron,它将仅在prod_id='1'的地方从tbl_all_产品中提取产品,查询可能类似于:

    $sql_product = "SELECT id,name,date,user_id 
                    FROM tbl_all_products
                    WHERE type = '1';
然后我想为新表中的所有匹配产品更新这4列,我们称之为tbl_type1

我计划用type=1记录所选产品的计数,然后用tbl_type1中的循环更新这些产品,其中id=$count_id。 有一个问题留给我思考,如果我选择这种方法,当原始表中发现的产品较少时,如何处理tbl_type1中过多的行

但如果有更好、更重要、更快的方法,我想听听其他的意见


有什么建议或想法吗?

插入SELECT*FROM,但您对id值的差距有什么问题?如果这是你的PK,那么是否有差距就不重要了,只要有差距就行unique@MarkBaker,这种方法只会在新表中添加行,我想用新的值替换以前的值,可能相同,也可能不同……我们的想法是,只有在type=1的产品中,才有一个具有连续id的列表。我将对新表做的是从那里得到一行,并在一个页面上显示数据,其中row_id=page_id。最终目标是在每个不同的页面上都有一个唯一的产品类型1。您知道INSERT语句还允许重复密钥更新吗?-但你真的有一个蜜蜂在你的帽子关于连续ID。。。。。除非您误用了这些id值并赋予它们一些特殊的含义,否则这对您来说根本不重要