批量导入遇到一个mysql提示
 

 Prepared statement contains too many placeholders 

原语句:


func (s *QtPackingRepo) UploadExcel(sliceQtPacking []*model.QtPacking) (err error) {

	err = s.data.db.Model(&model.QtPacking{}).Create(sliceQtPacking).Error
	if err != nil {
		s.log.Errorf("导入数据错误:%v", err)
		return v1.ErrorUnknownError("%v", "导入数据错误~~")
	}
	return
}

 修改成批量导入以后正常

func (s *QtPackingRepo) UploadExcel(sliceQtPacking []*model.QtPacking) (err error) {

	for i := 0; i < len(sliceQtPacking); i += 1000 {
		end := i + 1000
		if end > len(sliceQtPacking) {
			end = len(sliceQtPacking)
		}
		err := s.data.db.Model(&model.QtPacking{}).CreateInBatches(sliceQtPacking[i:end], len(sliceQtPacking[i:end])).Error
		if err != nil {
			s.log.Errorf("导入数据错误:%v", err)
			return v1.ErrorUnknownError("%v", "导入数据错误~~")
		}
	}
	//if err != nil {
	//	s.log.Errorf("导入数据错误:%v", err)
	//	return v1.ErrorUnknownError("%v", "导入数据错误~~")
	//}
	return
}

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐