gorm批量插入数据

最近用 gin+mysql编写web工程,其中使用了gorm库对数据库进行操作。由于gorm目前暂未提供 批量插入方法,推荐使用原sql语句批量插入数据。

参考链接

批量插入mysql数据

// 声明project_pics数据表结构
type ProjectPic struct {
    Id        int    `json:"id"`
    ProjectId int    `json:"project_id"`
    Url       string `json:"url"`
    Type      string `json:"type"`
}
func AddProjectPics(data []string, project_pic_type string, project_id int) bool {
    sql := "INSERT INTO `project_pics` (`project_id`,`url`,`type`) VALUES "
// 循环data数组,组合sql语句
    for key, value := range data {
        if len(data)-1 == key {
//最后一条数据 以分号结尾
            sql += fmt.Sprintf("(%d,'%s','%s');", project_id, value, project_pic_type)
        } else {
            sql += fmt.Sprintf("(%d,'%s','%s'),", project_id, value, project_pic_type)
        }
    }
    db.Exec(sql)
    return true
}

效果

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容