4

我想在 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?

4

1 回答 1

7

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

type User struct {
    gorm.Model
    Name `sql:"type:VARCHAR(5) CHARACTER SET utf8 COLLATE utf8_general_ci"`
}
于 2015-10-01T08:05:02.843 回答