【发布时间】:2015-03-16 21:22:29
【问题描述】:
我想在 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?
【问题讨论】:
-
@RickJames 您的评论与我的问题有多大关系?
-
我不知道
GORM;我更容易在mysql中交谈。提供该SHOW的输出将为我提供有关您在做什么的更多信息。 -
@RickJames 如果您不了解 GORM,您将无法帮助我。我可以在 MySQL 中解决这个问题。我的问题是我不知道如何用 GORM 解决它。
-
请注意,电子邮件地址的 本地部分 至少在理论上是区分大小写的(尽管很多,如果不是大多数,MDA 实际上会忽略字母大小写) .因此,虽然您可能在电子邮件列上使用
_ci排序规则不会遇到任何问题,但您可能可以想象。在这种情况下,最好不要使用_ci排序规则,尽管这当然不会使您的问题无效。 -
您找到解决方案了吗?我使用 golang gorm 也有同样的需求