如何使用 GORM 将字段的 COLLATION 设置为 utf8_general_ci?

问题描述 投票:0回答:1

我想在 MySQL 数据库中有一个字符串类型字段,它是 不区分大小写并且唯一。我使用以下模型:

type User struct {
    Id             int64  `json:"id" sql:"AUTO_INCREMENT"`
    Email          string `json:"email" sql:"unique_index"`
}

这使得

Email
独一无二,但是

type User struct {
    Id             int64  `json:"id" sql:"AUTO_INCREMENT"`
    Email          string `json:"email" sql:"unique_index;COLLATION(utf8_general_ci)"`
}

好像没有效果。

如何使用 GORM 将字段的

COLLATION
设置为
utf8_general_ci

mysql go-gorm
1个回答
10
投票

您可以在要更改的字段中使用sql标签,如下所示:

type User struct {
    gorm.Model
    Name `sql:"type:VARCHAR(5) CHARACTER SET utf8 COLLATE utf8_general_ci"`
}
© www.soinside.com 2019 - 2024. All rights reserved.