英文:
How to specify a struct with a multi-column unique index for Gorm?
问题
如何定义我的struct
以在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"`
}
你需要在struct
的字段上使用sql
标签来指定唯一索引。在标签中,使用unique_index
关键字后跟索引名称,以指定唯一索引的名称。在你的示例中,First
字段使用unique_index:unique_index_with_second
指定了一个名为unique_index_with_second
的唯一索引,Second
字段使用unique_index:unique_index_with_first
指定了一个名为unique_index_with_first
的唯一索引。
请注意,你需要确保在使用Gorm之前正确导入Gorm库,并在代码中进行相应的配置和初始化。
英文:
How do I define my struct
s to specify a multi-column unique index to Gorm in Go?
Such as:
type Something struct {
gorm.Model
First string `sql:"unique_index:unique_index_with_second"`
Second string `sql:"unique_index:unique_index_with_first"`
}
答案1
得分: 28
这是如何做的:您需要使用gorm结构标签,并指定索引是唯一的。
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
这样定义的结构体中,First
和 Second
字段都被标记为 idx_name
索引,并且该索引是唯一的。
英文:
this is how you do it: You need to use the gorm struct tag and specify that the index is unique
type Something struct {
gorm.Model
First string `gorm:"index:idx_name,unique"`
Second string `gorm:"index:idx_name,unique"`
}
答案2
得分: 13
你可以为每个列定义相同的唯一索引。
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
英文:
You can define same unique index for each column.
type Something struct {
gorm.Model
First string `sql:"unique_index:idx_first_second"`
Second string `sql:"unique_index:idx_first_second"`
}
答案3
得分: 9
对于最新版本的gorm(或者对于我的情况),这段代码是有效的:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}
英文:
for latest version of gorm (or for my case)
this works:
type Something struct {
gorm.Model
First string `gorm:"uniqueIndex:idx_first_second"`
Second string `gorm:"uniqueIndex:idx_first_second"`
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论