拆分JSON ForEach以适应SQL 1000行INSERT限制

时间:2014-07-28 19:08:45

标签: php sql-server json foreach insert

我的代码正在运行,但它看起来效率不高。我希望有人会有更好的解决方案。我从JSON提要中提取数据,然后将该数据插入到MS SQL表中。当来自JSON提要的行超过1000行时出现问题(MS SQL对INSERT语句有1000行限制)。我想用尽可能少的陈述来完成这件事。

这就是我所拥有的:

foreach($JSON as $pairGroup) {
        if ($i < 901){
            $rValues .= "(".$pairGroup->Group_A.",".$pairGroup->Group_B."),";
            $i++;
        }else if($i < 1801){
            $rValues2 .= "(".$pairGroup->Group_A.",".$pairGroup->Group_B."),";
            $i++;
        }
 }

$query = "INSERT INTO my_table (Group_A, Group_B) values".$rValues.";";

然后是if语句,它基本上创建了另一个带有$ rValues2的查询,依此类推。请记住,我可能需要插入20,000到30,000行,因此可行的解决方案需要自动适应任意数量的行。

有任何建议或想法吗?

0 个答案:

没有答案