登录
首页 >  Golang >  Go问答

unique_index 和 unique 之间有什么区别?

来源:stackoverflow

时间:2024-04-12 11:21:48 477浏览 收藏

本篇文章给大家分享《unique_index 和 unique 之间有什么区别?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

GORM中unique_index和unique有什么区别?

我使用的是MySQL 8.0,我找不到关于unique_index和unique form之间区别的手册。

从这里,具体查看 EmailMemberNumber 字段:

声明模型 模型通常只是普通的 Golang 结构、基本的 Go 类型或它们的指针。还支持 sql.Scanner 和 driver.Valuer 接口。 型号示例: 类型用户结构{ gorm.模型 名称字符串 年龄 sql.NullInt64 生日*时间.时间 电子邮件字符串 `gorm:"type:varchar(100);unique_index"` 角色字符串 `gorm:"size:255"` // 将字段大小设置为 255 MemberNumber *string `gorm:"unique;not null"` // 将成员编号设置为唯一且不为空 num int `gorm:"AUTO_INCRMENT"` // 将 num 设置为自动递增 地址字符串 `gorm:"index:addr"` // 创建名为 `addr` 的索引作为地址 IgnoreMe int `gorm:"-"` // 忽略该字段 }


解决方案


unique 是一个数据库约束,它(在本例中)可防止多个记录具有相同的 MemberNumber 值。如果进行这样的插入或更新,操作将不会成功并返回错误。

unique_index 将创建一个数据库索引,该索引还确保没有两个值可以相同。它会做同样的事情,但会创建一个索引。

在您的情况下:当使用唯一约束时,MySQL 将在幕后使用唯一索引。所以在使用MySQL时,使用unique和使用unique索引没有区别。

如果您使用其他数据库管理系统,可能会有所不同。

差异(如果有)将由数据库管理系统内部处理。出于实际目的,您可以将它们视为相同。将记录每个数据库管理系统的差异。

以上就是《unique_index 和 unique 之间有什么区别?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>