1、当只需要执行某个SQL而不需要进行获取返回值时
// 如果其中有变量,则使用?进行占位, sql := "要执行的SQL" // 在Exec方法中在sql 后面可以使用多个参数作为占位的补充 // 例如需要name=?,则写法可以使用util.Db.Exec(sql,"张三").Error err := util.Db.Exec(sql).Error if err != nil { log.Println(err.Error()) }
2、当需要一个长组合SQL进行查询出来一个特定结果时
sql := "要执行的SQL" // 接收返回结果的结构体 type User struct { Id int Name string } // 声明一个接收对象,这里接受多条时也可以使用数组进行 var userInfo User err := util.Db.Raw(sql, "张三").Scan(&userInfo).Error if err != nil { log.Println(err.Error()) }
3、自定义处理返回值
sql := "要执行的SQL" rows, err := util.Db.Raw(sql).Rows() if err != nil { log.Println(err.Error()) } for rows.Next() { // 处理逻辑 }标签:自定义,err,SQL,sql,Db,util,Error,gorm From: https://www.cnblogs.com/beatle-go/p/17446215.html