我正在使用GORM处理我的数据库操作。我的结构如下
type Job struct {
gorm.Model
JobID int `gorm:"primary_key"`
Jobitem []Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
当我使用此结构插入表中时,主键长18位数字,例如:399758776912773121
是否有可能使该ID从1开始并从那里开始递增?
答案 0 :(得分:0)
您同时使用gorm.Model
并定义了自己的主键。所以我的猜测是gorm会自动认为您正在尝试使用Composite Primary Key,因为您的结构实际上是这样的:
type Job struct {
// gorm.Model ↓
ID uint `gorm:"primary_key"` // Gorm uses this
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
// gorm.Model ↑
JobID int `gorm:"primary_key"` // And also detects this
Jobitem []Jobitem
SubID int `sql:"not null"`
StartDateTime string `sql:"not null"`
JobStatus string `sql:"not null"`
}
答案 1 :(得分:0)
感谢Depado, 看起来这是数据库内置的行为,与GORM无关。 ID字段是使用cockroachdb中的unique_rowid()函数生成的,该函数是由时间戳和执行插入的节点的ID组合而成的。