使用sqlsrv_query进行多插入

时间:2016-07-13 16:55:09

标签: php sql-server sql-insert sqlsrv

以下代码旨在将n行插入表中。但是,对于所有n> = 108,它设法仅插入108行。适用于n <108的工作正常。我在数据库上运行查询,它按预期工作。你们有没有人有类似的问题?任何帮助,将不胜感激。

    $data = "a1='1', a2='2', a3='3', a4='4', a5='5', a6='6'";
    $queryInsert = 
    "   SELECT $data INTO [$tableName]
        DECLARE @i int
        SET @i=1
        WHILE (@i < $n)
        BEGIN
            INSERT [$tableName]
            SELECT $data
            SET @i = @i + 1
        END
    ";
    $stmt1 = sqlsrv_query($conn1, $queryInsert);

编辑:PHP7,驱动程序版本:4

1 个答案:

答案 0 :(得分:0)

显然这现在有效。不知道为什么。

$data = "a1='1', a2='2', a3='3', a4='4', a5='5', a6='6'";
    $queryInsert = 
    "   SELECT $data INTO [$tableName]
        DECLARE @i int
        SET @i=1
        WHILE (@i < $n)
        BEGIN
            INSERT [$tableName]
            SELECT $data
            SET @i = @i + 1
        END
    ";
    $stmt1 = sqlsrv_query($conn1, $queryInsert);
    sleep ( 1 );