$list = file('file.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($list as $v) {
$data[] = $v;
}
$chunks = array_chunk($data, 100);
Db::startTrans();
try {
foreach ($chunks as $chunk) {
Db::table('test')->insertAll($chunk);
}
Db::commit();
} catch (Exception $e) {
Db::rollback();
}
通过 array_chunk 分批处理
批量处理CSV数据并分批插入数据库,
代码读取file.csv文件,忽略新行和空行,存储数据到数组。然后将数据分割成每批100条,使用数据库事务开始插入到test表中。如果出现异常则回滚事务,确保数据一致性。
995

被折叠的 条评论
为什么被折叠?



