GORM 创建复合唯一索引
时间: 2023-11-12 09:03:54 浏览: 520
在 GORM 中创建复合唯一索引可以通过使用 `AddUniqueIndex` 方法来完成。该方法接受两个参数:模型名称和要创建唯一索引的字段名称。
以下是一个示例代码,展示了如何使用 GORM 创建一个复合唯一索引:
```go
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Name string `gorm:"uniqueIndex:idx_name_email"`
Email string `gorm:"uniqueIndex:idx_name_email"`
Password string
}
func main() {
dsn := "your-database-connection-string"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
err = db.AutoMigrate(&User{})
if err != nil {
panic(err)
}
// 创建复合唯一索引
err = db.Migrator().AddUniqueIndex(&User{}, "idx_name_email")
if err != nil {
panic(err)
}
}
```
在上面的代码中,我们定义了一个名为 `User` 的模型,并为 `Name` 和 `Email` 字段添加了 `uniqueIndex` 标签。然后,我们使用 `db.Migrator().AddUniqueIndex` 方法来创建名为 `idx_name_email` 的复合唯一索引。
注意,在运行代码之前,需要根据你的数据库类型和设置修改连接字符串 `dsn`。
希望这可以帮助到你!如果有任何其他问题,请随时提问。
阅读全文