gpt4 book ai didi

php - 如何有效地插入完全相同的行保存一个变化的列?

转载 作者:行者123 更新时间:2023-11-29 02:02:57 25 4
gpt4 key购买 nike

我必须对同一行执行多个 INSERT,但 recipient 字段除外,该字段的每一行的值都不同。没有在 PHP 中执行 for/each 循环以 INSERT 同一行但在每次迭代中更改 recipient 字段,有没有办法在 MySQL 中更有效地处理这个问题?

最佳答案

您有几个选择。但是,您是否会获得效率是您必须进行基准测试的事情。

方法 1:首先批量插入所有行,然后在第二个循环中运行更新查询。

我不喜欢这种方法,因为尝试运行第二组更新查询会降低效率。

但由于您将使用 PHP 来运行查询,我建议使用方法 2。

方法二:

  1. 构建一个字符串以包含多个插入值。

    插入到 MyTable (Field1, Field2, ... Field-N)值(Value1,Value2,Value3,... Value-N),(Value1, Value2, Value3, ... Value-N),(Value1, Value2, Value3, ... Value-N)

    您可以在此处将字符串构建为相当大的大小。我过去曾为 10,000 条记录构建过它。

  2. 调用mysql_query函数执行查询。

  3. 返回步骤 1,直到您没有更多记录可插入。

如果您有大量插入,这种方法非常好。但请务必记住,必须捕获 Insert 中的失败以确保插入正确的记录。理想情况下,事务提交将有助于解决此问题以及 mysql_affected_rows 函数。

最后,如果您的数字不是很好,请构建一个较小的字符串。如果您的总记录只有大约 50 条左右,只需单独插入它们即可。

关于php - 如何有效地插入完全相同的行保存一个变化的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com