如何为 Gorm 指定具有多列唯一索引的结构?
How to specify a struct with a multi-column unique index for Gorm?
如何定义我的 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"`
}
您是否正在尝试创建 table 以便 First 和 Second 的组合是唯一的?
这应该有效:
type Something struct {
ID uint
gorm.Model
First string `gorm:"primary_key"`
Second string `gorm:"primary_key"`
}
您可以为每一列定义相同的唯一索引。
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
这就是你的做法:你需要使用 gorm struct 标签并指定索引是唯一的
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
对于最新版本的 gorm(或者对于我的情况)
这有效:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}
如何定义我的 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"`
}
您是否正在尝试创建 table 以便 First 和 Second 的组合是唯一的?
这应该有效:
type Something struct {
ID uint
gorm.Model
First string `gorm:"primary_key"`
Second string `gorm:"primary_key"`
}
您可以为每一列定义相同的唯一索引。
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
这就是你的做法:你需要使用 gorm struct 标签并指定索引是唯一的
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
对于最新版本的 gorm(或者对于我的情况) 这有效:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}