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

Golang+Gorm库使用踩坑——未标识primarykey导致创建后无法返回修改

问题描述

做毕设ing,基本的增删改查。
这里是一个需要增的地方,代码如下:


func (BI *BlogImpl) CreateBlog(ctx context.Context, blogInformation repo.BlogInformation) (repo.BlogInformation, error) {err := BI.Db.Table(BlogTable).Create(&blogInformation).Errorfmt.Println(blogInformation.Bid, "createBlog")if err != nil {return repo.BlogInformation{}, err}return blogInformation, nil
}

我在外层调用时候,是需要返回新增记录的ID。但是无法符合预期。通过打印发现,我这里返回的id就是0。

问题解决

翻阅之前写的一个正确样例,对比发现


type BlogInformation struct {Bid       int       `gorm:"column:bid"`}

区别在于,我这里没有去指定主键。

根据官方文档,其demo中提到:

创建记录
user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}result := db.Create(&user) // 通过数据的指针来创建user.ID             // 返回插入数据的主键
result.Error        // 返回 error
result.RowsAffected // 返回插入记录的条数

这个修改需要主键,所以应该在gorm指定一下。

参考资料

https://gorm.io/zh_CN/docs/create.html
官网文档这里

相关文章:

  • 大白菜U盘安装系统-戴尔电脑
  • 【JVM 基础】类字节码详解
  • SwiftUI CoreData Picker
  • 基于昇腾910B搭建多节点K8s集群
  • 二维差分算法详解
  • Sentinel限流、熔断
  • Codeforces Round 768 (Div. 1) D. Flipping Range(思维题 等价类性质 dp)
  • javacv和opencv对图文视频编辑-常见错误汇总
  • C++学习笔记——SLT六大组件及头文件
  • Java项目:117SpringBoot动漫论坛网站
  • 前端随机验证码安全验证sdk
  • 【EMC专题】浪涌的成因与ICE 61000-4-5标准
  • 训练AI模型:寻找最优参数a和b
  • stm32学习笔记:USART串口通信
  • Day02
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • CentOS从零开始部署Nodejs项目
  • JavaScript 奇技淫巧
  • java概述
  • js 实现textarea输入字数提示
  • Python 基础起步 (十) 什么叫函数?
  • SQL 难点解决:记录的引用
  • 初识 webpack
  • 飞驰在Mesos的涡轮引擎上
  • 简单数学运算程序(不定期更新)
  • 离散点最小(凸)包围边界查找
  • 聊一聊前端的监控
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 新版博客前端前瞻
  • 原生 js 实现移动端 Touch 滑动反弹
  • nb
  • mysql面试题分组并合并列
  • ​批处理文件中的errorlevel用法
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #{}和${}的区别是什么 -- java面试
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)菜鸟学数据库(三)——存储过程
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET 4.0中的泛型协变和反变
  • .net Application的目录
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET委托:一个关于C#的睡前故事
  • .net下简单快捷的数值高低位切换
  • @RequestParam详解
  • [Angular] 笔记 20:NgContent
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [C#小技巧]如何捕捉上升沿和下降沿