📜  yii2 activerecord 批量插入 - PHP (1)

📅  最后修改于: 2023-12-03 15:06:06.397000             🧑  作者: Mango

Yii2 ActiveRecord 批量插入

介绍

在使用Yii2框架的ActiveRecord模式进行数据库操作时,有时需要批量插入大量数据。如果每次插入一条数据,会导致数据库连接频繁开关,并且耗费许多时间。因此本篇文章将介绍如何使用Yii2框架的ActiveRecord模式进行批量插入操作。

方案

采用Yii2中提供的yii\db\QueryBuilder类结合MySQLinsert语句进行批量插入操作。示例代码如下:

use yii\db\Query;

$query = new Query();
$query->createCommand()->batchInsert('table_name', [
    'column1', 'column2', 'column3'
], [
    ['value1', 'value2', 'value3'],
    ['value4', 'value5', 'value6'],
    ['value7', 'value8', 'value9'],
])->execute();

上面的代码中,table_name代表要插入数据的表名,column1column2column3分别代表要插入的列名,['value1', 'value2', 'value3']['value4', 'value5', 'value6']['value7', 'value8', 'value9']代表要插入的数据。可以看到,使用该方法可以一次性插入多条数据。

总结

本文介绍了Yii2中使用ActiveRecord模式进行批量插入的方法,通过使用yii\db\QueryBuilder类结合MySQLinsert语句,可以一次性插入多条数据。这种方式能够有效地减少数据库连接次数和操作时间。