Php 插入多行的最佳方法

Php 插入多行的最佳方法,php,pdo,Php,Pdo,我正在执行一个php脚本,它使用pdo->exec()在一个循环中在多个关系表中插入500多行 代码示例: 我只是想知道这是一个好的实践,还是我应该同时执行所有的插入要求,或者执行这种多个插入要求的最佳方式是什么 我的重点是: 1) 执行批量插入多个查询的最佳方法 2) db服务器友好。如何检查您的条件? 数据是在文件还是数组中? 要插入这些数据的是同一个表吗 如果这些数据是以sql格式的文件,我建议您使用phpmyadmin直接将它们转储到数据库中 如果这些数据在sql中未格式化,则可以使用代

我正在执行一个php脚本,它使用pdo->exec()在一个循环中在多个关系表中插入500多行

代码示例: 我只是想知道这是一个好的实践,还是我应该同时执行所有的插入要求,或者执行这种多个插入要求的最佳方式是什么

我的重点是:

1) 执行批量插入多个查询的最佳方法


2) db服务器友好。

如何检查您的条件? 数据是在文件还是数组中? 要插入这些数据的是同一个表吗

如果这些数据是以sql格式的文件,我建议您使用phpmyadmin直接将它们转储到数据库中


如果这些数据在sql中未格式化,则可以使用代码对其进行格式化,如果它们用于不同的表,则使用此选项,但至少你应该使用prepared语句,并在循环之前准备好它们,这样你就只需要在循环内部执行它们。你的循环应该在@Ziinloader的可能副本之外。如果在后面的查询(表2,表3)中需要来自第一个查询(表1,表2)的插入id,那么就没有那么简单了,你不能像那样合并插入项。那样会破坏事务的目的。
pdo->beginTransaction();

while (until condition) {

    $sqlqry="Insert Into Table 1";
    pdo->exec($sqlqry);

    $sqlqry="Insert Into Table 2";
    pdo->exec($sqlqry);

    $sqlqry="Insert Into Table 3";
    pdo->exec($sqlqry);

}

pdo->commitTransaction();