从 gorm 模型创建主键时出现问题
Issue while creating primary key from gorm model
从 gorm 模型创建主键时 return 出现错误“重复的列名:“id””
我的模型看起来像
type User struct {
gorm.Model
Id string gorm:"primary_key;"
FirstName string
LastName string
}
知道上面的模型有什么问题吗
Gorm 使用 ID
as the primary key by default. It is part of 您正在嵌入的 gorm.Model
。
当嵌入 gorm.Model
时,你应该离开 ID
因为 gorm 已经包含了它。另一种方法是删除嵌入的 gorm.Model
并自己指定 ID
。
引用gorm conventions页面:
gorm.Model is a basic GoLang struct which includes the following
fields: ID, CreatedAt, UpdatedAt, DeletedAt.
It may be embeded into your model or you may build your own model
without it.
与编译相反,模式创建失败的原因是许多数据库(包括 CockroachDB)会进行不区分大小写的检查,除非您引用对象名称(Id
匹配 id
,但是"Id"
没有)。与不区分大小写相比,这会导致两个单独的列名称匹配。
从 gorm 模型创建主键时 return 出现错误“重复的列名:“id””
我的模型看起来像
type User struct {
gorm.Model
Id string gorm:"primary_key;"
FirstName string
LastName string
}
知道上面的模型有什么问题吗
Gorm 使用 ID
as the primary key by default. It is part of 您正在嵌入的 gorm.Model
。
当嵌入 gorm.Model
时,你应该离开 ID
因为 gorm 已经包含了它。另一种方法是删除嵌入的 gorm.Model
并自己指定 ID
。
引用gorm conventions页面:
gorm.Model is a basic GoLang struct which includes the following fields: ID, CreatedAt, UpdatedAt, DeletedAt.
It may be embeded into your model or you may build your own model without it.
与编译相反,模式创建失败的原因是许多数据库(包括 CockroachDB)会进行不区分大小写的检查,除非您引用对象名称(Id
匹配 id
,但是"Id"
没有)。与不区分大小写相比,这会导致两个单独的列名称匹配。