如何定义我struct
的 s 以在 Go 中为 Gorm 指定多列唯一索引?
如:
type Something struct {
gorm.Model
First string `sql:"unique_index:unique_index_with_second"`
Second string `sql:"unique_index:unique_index_with_first"`
}
你是这样做的:你需要使用 gorm struct 标签并指定索引是唯一的
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
您可以为每列定义相同的唯一索引。
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
对于最新版本的gorm(或我的情况),这有效:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}
您是否正在尝试创建一个表,以便 First 和 Second 的组合是唯一的?
这应该工作:
type Something struct {
ID uint
gorm.Model
First string `gorm:"primary_key"`
Second string `gorm:"primary_key"`
}