从 Gorm 模型创建主键时出现问题

2024-03-01

从 Gorm 模型创建主键时,它返回错误“重复列名:“id””

我的模型看起来像

type User struct { 
gorm.Model 
Id string gorm:"primary_key;" 
FirstName string 
LastName string 
}

知道上面的模型有什么问题吗


戈尔姆用途ID https://gorm.io/docs/conventions.html#ID-as-Primary-Key默认作为主键。这是part of https://gorm.io/docs/conventions.html#gorm-Model the gorm.Model你正在嵌入。

当嵌入gorm.Model,你应该离开ID因为 gorm 已经包含它了。另一种方法是删除嵌入的gorm.Model并指定ID你自己。

引用戈尔姆约定 https://gorm.io/docs/conventions.html#gorm-Model page:

gorm.Model 是一个基本的 GoLang 结构体,其中包括以下内容 字段:ID、创建时间、更新时间、删除时间。

它可以嵌入到您的模型中,或者您可以在没有它的情况下构建自己的模型。

与编译相反,模式创建失败的原因是许多数据库(包括 CockroachDB)都会进行不区分大小写的检查,除非您引用对象名称(Id火柴id, but "Id"才不是)。与不区分大小写相比,这会导致两个单独的列名称相匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Gorm 模型创建主键时出现问题 的相关文章

随机推荐

  • 值元组从 WebAPI 暴露错误的参数名称

    我正在使用网络 API 我有点懒 决定从我的控制器返回一个值元组 HttpGet Route AuthAPIRoutes GET MFA DEVICES public string Type string Value GetMultiFac
  • 是否可以使用 INNO 脚本移动现有目录/文件?

    我们最近对一个使用 INNO 脚本安装的应用程序进行了重大重组 不幸的是 该应用程序需要某些文件在不同版本之间保持不变 更不幸的是 这些文件的位置在这次重组期间发生了变化 最不幸的是 现在由我来制作一个 INNO 脚本片段 它将查看这些文件
  • swift 中的方法数组,没有引用循环

    我的目标是创建一个包含数组的类 数组的元素将是同一类的方法 喜欢 class MyClass lazy var functions self myFirstMethod self mySecondMethod deinit print De
  • 将 browser.element 获取到具有子项的页面对象中

    当我派生一个驱动程序实例以在浏览器之间发送消息时 我正在进行测试 我还使用页面对象来映射视图 在我的页面对象中 我有其他页面对象 其中一些对象继承自另一个页面对象 但是 当我分叉了一个驱动程序实例并有两个浏览器可以使用时 获取element
  • apache poi XSSFClientAnchor 未相对于 dx1、dy1、dx2、dy2 定位图片

    我正在尝试使用添加图像到Excelapache poi 版本3 16 我能够做到这一点HSSFWorkbook and XSSFWorkbook 但是当我尝试为图像添加间距时 即如果我设置dx1 dy1 dx2 dy2坐标在XSSFClie
  • Redis / Node.js - 2 个客户端(1 个发布/订阅)导致写入问题

    尝试创建两个客户端 一种是发布 订阅 另一种是标准连接 这不可能吗 必须有一种方法可以将其抽象为工作 基本上 如果我做一个get key运行 test js 后 我看到的只是 valueBefore 输出 node test js Repl
  • 地理编码地址 - 获取某个地址的区域(Google API)

    我有一个包含确切地址的数据库 街道 号码 城市 地区 地区 国家 但是 我想知道如果我们在纽约 是否有办法使用 Google API 来获取城市的区 例如 曼哈顿 所有其他信息我都已经在数据库中了 所以我只需要该地区 如果有的话 当然这只会
  • WPF自定义控件的ToolTip MultiBinding问题

    当我在 WPF 自定义控件中设置 ToolTip 绑定时 这种方式效果完美 public override void OnApplyTemplate base OnApplyTemplate SetBinding ToolTipProper
  • sbt-idea 1.2.0 未解决 SBT 0.12.0 和 Scala 2.10.0 问题?

    我正在创建一个新的 SBT 项目 以下是我的 SBT 文件的内容 构建属性 sbt version 0 12 0 插件 sbt addSbtPlugin com github mpeltonen sbt idea 1 2 0 构建 sbt
  • Java 字节码 DUP

    我想知道为什么以下字节码中的异常 用于抛出异常 是重复的 NEW java lang IllegalArgumentException DUP INVOKESPECIAL java lang IllegalArgumentException
  • PySpark 中的微秒时间戳

    我正在尝试使用 pyspark 中的以下语法将微秒字符串转换为时间戳 然而 我似乎得到了null当我转换时 我正在使用 Spark 2 2 我的字符串看起来像20180503 07 05 00 008288 我正在使用以下代码转换为时间戳
  • Azure Active Directory 应用程序权限更改延迟

    我正在使用 Azure Active Directory 为我的应用程序提供对 Microsoft Graph API 的访问权限 当我进行权限更改 例如 对各种类型数据的读 写访问权限 时 我注意到从保存更改到我能够通过 API 访问新数
  • 在 RSpec 中存根 RestClient 响应

    我有以下规格 describe successful POST on user create do it should redirect to dashboard do post user create name gt dave email
  • 在带有 npm 的 Lambda 函数中使用 AWS Cognito

    我正在尝试在 Lambda 函数中使用 AWS Cognito 来授权用户 我有一些来自 Udemy 课程的示例代码 不再可用 https www udemy com minimum viable aws cognito user auth
  • 使用 javascript 测试多屏幕

    是否可以判断网站的用户是否使用多个显示器 我需要找到弹出窗口的位置 但用户很可能有多个显示器设置 同时window screenX等将给出浏览器窗口的位置 这对于多个显示器来说是无用的 我在 StackOverflow 上的任何地方都没有找
  • 如何在 iPhone 上记录 SQLite 查询

    我正在开发一个 iPhone 应用程序 并且使用 SQLite 问题是我的查询有一些问题 我做了错误的绑定 所以 这是我的问题 如何使用 SQLite 接收的绑定在我的 iPhone 应用程序中登录有效的 SQL 查询 语句 Thanks
  • 2 个以上线程写入/读取变量的真正危险

    同时读 写单个变量的真正危险是什么 如果我使用一个线程写入一个变量 另一个线程在 while 循环中读取该变量 并且在写入变量时读取该变量并且使用旧值 则不会有危险 这里还有什么危险 同时读 写是否会导致线程崩溃 或者当发生精确的同时读 写
  • 在asp.net core中模拟用户

    我有来自常规 mvc 应用程序的以下代码 它通过模拟用户上传文件 public class PublicController Controller public const int LOGON32 LOGON INTERACTIVE 2 p
  • C++ 映射中的 C 样式数组

    注意 这个问题仅涉及 C 中的映射和数组 碰巧我正在使用 OpenGL 所以那些没有 OpenGL 知识的人不应该阻止进一步阅读 我正在尝试将 C 样式数组放入 C 中std map供以后设置颜色时使用 const map
  • 从 Gorm 模型创建主键时出现问题

    从 Gorm 模型创建主键时 它返回错误 重复列名 id 我的模型看起来像 type User struct gorm Model Id string gorm primary key FirstName string LastName s