2016-12-16 249 views
1

我正在使用Yii2高级模板。我必须在MySql数据库中插入1000到2000条记录。如何在Yii2中制作多个UPSERT?

是否可以制造多个UPSERT查询Yii2

请帮助我的建议/答案。谢谢。

回答

2

尝试用修改batchInsert()方法:

$db = \Yii::$app->db; 
$sql = $db->queryBuilder->batchInsert($table, $fields, $rows); 
$db->createCommand($sql . ' ON DUPLICATE KEY UPDATE')->execute(); 
+0

感谢Bizley但有batchInesrt的上限? – troy

+0

这取决于整个系统性能,超时和内存限制。 – Bizley

+0

如果有帮助,请将答案标记为已接受。 – Bizley