当前位置: 首页 > news >正文

工作细胞第一季全集免费网站速度对seo的影响

工作细胞第一季全集免费,网站速度对seo的影响,义乌系统开发,企业门户网站建设的意义情景介绍 使用go语言#xff0c;我需要保存xxxTime的字段至数据库中#xff0c;这个字段可能为空#xff0c;也可能是一段时间。我采取的是统一先赋值为空#xff0c;若有需要#xff0c;则再进行插入#xff08;需要根据另一个字段判断是否插入#xff09; 在我的数据…情景介绍 使用go语言我需要保存xxxTime的字段至数据库中这个字段可能为空也可能是一段时间。我采取的是统一先赋值为空若有需要则再进行插入需要根据另一个字段判断是否插入 在我的数据库中使用的是DATETIME类型字段代码中采用的是time.Time 类型这里有几个修改。 使用Gorm库的实现 将xxxTime字段设置为sql.NullTime类型 在存储前设置时 res : Result{...省略...xxxTime: sql.NullTime{Time: time.Time{},Valid: false,},...省略...}在存储时 if err : db.Table(Table1).Create(res).Error; err ! nil {log.Error(保存数据时出错, err)return -1, err} 即可保存一条null值 之后采用进行插入即可 currentTime : time.Now()tmpTime : currentTime.Add(time.Duration(msgInfo.RetryIntervalMinutes) * time.Minute)xxxTime tmpTime.Format(2006-01-02 15:04:05) err : db.Table(Table1).Where(id ?, id).Update(xxxTime, xxxTime).Error 使用ENT库 使用ent库进行同样的操作但是遇到了很多问题。 使用sql.NullTime格式 遭遇失败 首先是采取同样的方式同样是设置格式为sql.NullTime(此处导入的是import entgo.io/ent/dialect/sql,先前版本导入的是import database/sql) 同样赋值操作是 res : Result{xxxTime: sql.NullTime{Time: time.Time{},Valid: false,}} 保存操作为 SetxxxTime(res.xxxTime) 但是会在这句报错报错内容为无法将 ‘res.xxxTime’ (类型 sql.NullTime) 用作类型 time.Time 如果换为database/sql中的nulltime依旧报错。无法将 res.xxxTime (类型 sql.NullTime) 用作类型 time.Time。 毕竟生成的代码中所接受的传参就是t time.Time格式而不是其他故显然是无法sql.nullTime的的… // SetxxxTime sets the xxx field. func (dlsc *DeadLetterServerCreate) SetxxxTime(t time.Time) *DeadLetterServerCreate {dlsc.mutation.SetxxxTime(t)return dlsc }// SetNillablexxxTime sets the xxx field if the given value is not nil. func (dlsc *DeadLetterServerCreate) SetNillablexxxTime(t *time.Time) *DeadLetterServerCreate {if t ! nil {dlsc.SetxxxTime(*t)}return dlsc } 为什么gorm可以 而为什么gorm中可以呢 func (db *DB) Create(value interface{}) (tx *DB) {if db.CreateBatchSize 0 {return db.CreateInBatches(value, db.CreateBatchSize)}tx db.getInstance()tx.Statement.Dest valuereturn tx.callbacks.Create().Execute(tx) }翻看gorm中Create的源码发现他所接受的是interface{}接口因此就可以了… 保存为指针类型 参考此篇文章里面是gorm库下的解决方啊他提供了两种方法——sql.nullTime和保存为指针。因此照猫画虎尝试第二种方案——保存为指针。 修改相关代码如下 xxx *time.Time db:xxxres : Result{xxx: nil,} 报错同上毕竟是指定死类型的不是接口所以肯定不对… 无法将 res.xxx (类型 *time.Time) 用作类型 time.Time 采用自动生成的 SetNillablexxx方法 在上面查看生成代码中发现了这样一个函数 // SetNillablexxx sets the xxx field if the given value is not nil. func (dlsc *DeadLetterServerCreate) SetNillablexxx(t *time.Time) *DeadLetterServerCreate {if t ! nil {dlsc.Setxxx(*t)}return dlsc }他看起来就是实现了这样的功能因此我们修改调用为这个。 SetNillableNextRetryTime(res.NextRetryTime).运行后发现可以正常保存。 完结撒花 新的问题 这样可以保存NULL了但我想真正保存时间时候却无法保存了… testTime : time.Now()mh.Db.MainDB.UpdateOneID(id).SetNillableNextRetryTime(testTime)前面一直以为是格式化问题修改了半天还是不行。。 后来我直接用这样的语句结果都存不进去东西。 遂修改增加错误输出 mh.Db.MainDB.UpdateOneID(id).SetNillableNextRetryTime(nextRetryTime) 结果错误是nil,然后这时候他就神奇的成功了… 迷惑ing 参考资源 问如何告诉gorm将缺少的time.Time字段保存为NULL而不是’0000-00-00’ ent官方FAQ
http://www.hyszgw.com/news/128096/

相关文章:

  • 网站底部的图标潍坊专业做网站公司
  • 网站copyright写法网站建设去哪可接单
  • 湖南省城乡和住房建设厅网站wordpress影视站
  • 大站wordpress一套完整的运营方案
  • 只用网站开发VS就安装那些就够了设计邦
  • 空间设计网站公司潜江市建设工程合同备案网站
  • 厦门学网站建设网站建设设计哪家好
  • 自己公司设计一个网站网站建设无广告语
  • 拆分盘的网站开发费用wordpress加密方式
  • 网站域名综合查询亚马逊跨境电商个人开店要多少钱
  • 沧州网站建设 益志科技网站建设促销文案
  • 外贸网站模板推荐购物网站开发视频教程
  • 网站的建设不包括什么建什么网站容易挣钱
  • 网站用什么格式的图片格式做网站需准备些什么
  • 做钓鱼网站公司宣传策划方案
  • 视频网站开发用什么服务器栅格化系统制作网页界面设计
  • dedecms做视频网站网站 文件验证
  • 上上海海网网站站建设东莞网站推广模式
  • 如何做分公司网站怎么查询自己的二建信息
  • 衡阳微信网站wordpress找回密码链接失效
  • 运城建设网站微信小程序商城完整源码
  • 类似wordpress的cms我赢网seo优化网站
  • 安阳给商家做网站推广深圳龙华住房和建设局网站
  • 网站建设板块wordpress 视频存储
  • 网站创建过程九江的网站建设公司
  • 怎样上网站dns解析不了洛阳建设部官方网站
  • 企业型商务网站制作扁平化 手机网站首页
  • 内设网站延安网站设计
  • 金华建设公司网站wordpress vip下载
  • 健康网站模板用flash做网站