如何定义我的structs 以在 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"`
}
Run Code Online (Sandbox Code Playgroud)
Seb*_*ian 12
这就是你的方法:你需要使用 gorm struct 标签并指定索引是唯一的
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
Run Code Online (Sandbox Code Playgroud)
Ahm*_*hem 11
您可以为每列定义相同的唯一索引。
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
Run Code Online (Sandbox Code Playgroud)
blu*_*ope 10
对于最新版本的 gorm (或对于我的情况),这是有效的:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}
Run Code Online (Sandbox Code Playgroud)