iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >解决Go gorm踩过的坑
  • 755
分享到

解决Go gorm踩过的坑

gormGO 2022-06-07 20:06:46 755人浏览 独家记忆
摘要

使用gORM.Model后无法查询数据 Scan error on column index 1, name “created_at” 提示: Scan error on

使用gORM.Model后无法查询数据

Scan error on column index 1, name “created_at”

提示:

Scan error on column index 1, name “created_at”: unsupported Scan, storing driver.Value type []uint8

解决办法:

打开数据库的时候加上parseTime=true


root:123456@tcp(127.0.0.1:3306)/mapdb?charset=utf8&parseTime=true

补充:golang Gorm 的使用总结

建立结构体时可以通过 TableName来指定要查找的表名

func (CoinLog) TableName() string {
 return "coin_log"
}
通过Gorm的映射指定对应表的列

ID            int64              `gorm:"column:id" JSON:"id"`

通过预加载可以实现各个模型之间的一对多关系,例如下面的代码,其中device结构体对应多个DeviceModular,DeviceModular又有多个CommWeimaqi

通过下面的查询语句可以查询出对应的相关联数据

db.sqlDB.Preload("DeviceModular", "modular_type=1").Preload("DeviceModular.CommWeimaqi").Find(&device)

gorm暂时不支持批量插入

可以通过下面的方式完成批量插入的功能

  tx := db.SqlDB.Begin()
  sqlStr := "INSERT INTO report_form (id,create_time,choose_count, device_fall_count,game_order_count,coin_count,member_count," +
   "day_member_count,visit_count,lgz_coin_count,weimaqi_coin_count,store_id,real_coin_count,m_coin_count,coin_spec) VALUES "
  vals := []interface{}{}
  const rowSQL = "(?,?, ?, ?, ?, ?, ?, ?, ?, ?,?,?,?,?,?)"
  var inserts []string
  for _, elem := range reportForms {
   inserts = append(inserts, rowSQL)
   vals = append(vals, elem.ID, elem.CreateTime, elem.ChooseCount, elem.DeviceFallCount, elem.GameOrderCount, elem.CoinCount, elem.MemberCount, elem.DayMemberCount, elem.VisitCount, elem.LgzCoinCount, elem.WeimaqiCoinCount, elem.StoreId, elem.RealCoinCount, elem.MCoinCount, elem.CoinSpec)
  }
  sqlStr = sqlStr + strings.Join(inserts, ",")
  err := tx.Exec(sqlStr, vals...).Error
  if  err != nil {
   tx.Rollback()
   fmt.Print(err)
  }else {
   tx.Commit()
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。


您可能感兴趣的文档:

--结束END--

本文标题: 解决Go gorm踩过的坑

本文链接: https://www.lsjlt.com/news/30613.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决Go gorm踩过的坑
    使用gorm.Model后无法查询数据 Scan error on column index 1, name “created_at” 提示: Scan error on...
    99+
    2022-06-07
    gorm GO
  • 如何解决Go gorm踩过的坑
    这篇文章给大家分享的是有关如何解决Go gorm踩过的坑的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是gogo是golang的简称,golang 是Google开发的一种静态强类型、编译型、并发型,并具有垃...
    99+
    2023-06-14
  • 解决spring集成redisson踩过的坑
    目录spring集成redisson踩过的坑第一坑就是版本兼容问题第二个坑是设置密码问题spring整合redisson配置配置方式单节点配置standalone哨兵配置sentin...
    99+
    2022-11-12
  • 在uni-app中踩过的坑及解决
    目录1. props传值变量名不要使用id2.组件没有页面事件3.关于背景图片4.代理5.z-index的问题6.trim去除前后空格失效总结1. props传值变量名不要使用id ...
    99+
    2023-05-16
    uni-app踩过的坑 uni-app踩坑 uni-app的坑
  • 解决Pytorch中Batch Normalization layer踩过的坑
    1. 注意momentum的定义 Pytorch中的BN层的动量平滑和常见的动量法计算方式是相反的,默认的momentum=0.1 BN层里的表达式为: 其中γ和β是可以学习的参...
    99+
    2022-11-12
  • 解决spring boot2集成activiti6踩过的坑
    spring boot2集成activiti6踩过的坑 1.activiti中的mybaitis版本冲突 错误信息 Caused by: java.lang.NoSuchField...
    99+
    2022-11-12
  • ResponseBodyAdvice踩坑及解决
    场景 通过ResponseBodyAdvice实现Rest接口的日志统一管理 正文 ResponseBodyAdvice原理自己百度,代码比较少但是我实践的时候发现有几个坑需要注意一...
    99+
    2022-11-12
  • jpa使用manyToOne(opntional=true)踩过的坑及解决
    目录jpa使用manyToOne(opntional=true)踩坑@ManyToOne用于一对多的情况@manytoone设置为optional=true不起作用@manytoon...
    99+
    2022-11-12
  • SpringBootTest--踩坑错误的解决
    目录SpringBootTest 踩坑SpringBootTest的一个小坑注意点1、我当时运行SpringBoot测试类的时候踩这个坑2、解决方法SpringBootTest 踩坑...
    99+
    2022-11-12
  • Go程序员踩过的defer坑如何处理
    本文小编为大家详细介绍“Go程序员踩过的defer坑如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go程序员踩过的defer坑如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、简单的例子先来一个...
    99+
    2023-07-02
  • Go程序员踩过的defer坑错误处理
    目录前言一、简单的例子二、一定不要在 for 循环中使用 defer 语句三、定义函数时就不要使用命名返回值四、defer 表达式的...
    99+
    2022-11-13
  • 解决Django transaction进行事务管理踩过的坑
    概要 Transaction是django进行数据库原子性操作在python层面上的实现。 简单来说, 被transaction.atomic()包裹的代码块只在代码块顺利完成后进行...
    99+
    2022-11-12
  • vue使用Swiper踩坑解决避坑
    目录我的Swiper定义:报错信息:保留默认名class:swiper-container查看GitHub我的Swiper定义: Failed to execute 'get...
    99+
    2023-05-20
    vue Swiper踩坑解决 vue Swiper避坑
  • sql+workbench 上踩过的坑
    安装mysql的时候可以将所有所需的附件都装上,特别是mysql for excel,极其方便于后期从Excel中导入数据到数据库;workbench是一个很好的辅助软件,默认安装默认连接就好;workbe...
    99+
    2022-10-18
  • 解决springCache配置中踩的坑
    目录springCache配置中踩的坑先附上正确的配置springCache配置及一些问题的解决配置@Cacheable参数@CacheEvict 参数@CachePut 参数spr...
    99+
    2022-11-12
  • 详解JavaScheduledThreadPoolExecutor的踩坑与解决方法
    目录概述还原"大坑"解决方案更推荐的做法原理探究总结概述 最近项目上反馈某个重要的定时任务突然不执行了,很头疼,开发环境和测试环境都没有出现过这个问题。定时任务采...
    99+
    2022-11-13
    Java ScheduledThreadPoolExecutor
  • 踩过的坑:Go语言项目开发经验分享
    踩过的坑:Go语言项目开发经验分享近年来,Go语言作为一门开发效率高、性能优异的编程语言,受到了越来越多开发者的关注和喜爱。然而,虽然Go语言有着简洁的语法和强大的并发能力,但在实际项目开发中,我们也会踩上一些坑。在本文中,我将分享一些我在...
    99+
    2023-11-04
    Go语言 经验分享 项目开发
  • 记一次go语言使用time.Duration类型踩过的坑
    目录01 踩到的坑02 time.Duration的真实面目03 问题解决04 time.Duration编程实践05 总结01 踩到的坑 先来说说在项目中踩到的使用time.Dur...
    99+
    2022-11-13
  • springboot整合freemarker的踩坑及解决
    目录springboot整合freemarker踩坑报错问题原因解决方法springboot freemarker基础配置及使用1.基础配置2.基础使用springboot整合fre...
    99+
    2022-11-13
  • vue3pinia踩坑及解决方案详解
    目录安装用法1、Cannot access 'useUserStore' before initialization重现步骤问题原因解决方案安装 yarn add ...
    99+
    2023-03-06
    vue3 pinia踩坑 vue3 pinia
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作