问题解析:它的意思是: 常规错误:1390预处理语句包含太多占位符. 说白了就是SQL语句太长了, 无法插入...
出现场景:excel导入大量数据
解决方法
将整个数组分批插入,切记不要一条一条插入这样会给数据库带来压力
public function insertData($arr)
{
$chunk_res = [];
$chunk_list = array_chunk($arr, 1000);
foreach ($chunk_list as $new_list){
$chunk_res[] = DB::table('region')->insert($new_list);
}
return $chunk_res;
}
当尝试从Excel导入大量数据时,可能会遇到1390预处理语句占位符过多的错误,意味着SQL语句太长。为避免数据库压力,应将数据分批插入。提供的代码示例展示了如何将数据数组分块插入,每次插入1000条记录,有效优化数据库操作。
5538

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



