从 Gorm 模型创建主键时,它返回错误“重复列名:“id””我的模型看起来像type User struct { gorm.Model Id string gorm:"primary_key;" FirstName string LastName string }知道上面的模型有什么问题吗
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
GormID
默认用作主键。它是您正在嵌入的一部分gorm.Model
。
嵌入 时gorm.Model
,您应该省略它ID
,因为 gorm 已经包含了它。另一种方法是删除嵌入gorm.Model
并指定ID
您自己。
引用gorm 约定页面:
gorm.Model 是一个基本的 GoLang 结构体,包含以下字段:ID、CreatedAt、UpdatedAt、DeletedAt。
它可以嵌入到您的模型中,或者您可以在没有它的情况下构建自己的模型。
与编译相反,模式创建失败的原因是许多数据库(包括 CockroachDB)都会进行不区分大小写的检查,除非您引用对象名称(Id
matches id
,但"Id"
不引用)。与不区分大小写相比,这会导致两个单独的列名称相匹配。
- 1 回答
- 0 关注
- 257 浏览
添加回答
举报
0/150
提交
取消