我知道golang中struct的标签的必要性以及如何通过golang中的reflect来访问它.但是我已经搜索过了,并且在为sql结果编写struct时为什么我应该在struct中使用sql标签的问题找不到可靠的答案.我已经探索了许多示例代码,人们正在使用sql:"index"struct和sql:"primary_key"struct.
现在我已经在数据库层完成了索引,这还不够吗?我是否应该使用sql:"index"得到最好的结果?像这样我已经在数据库中定义了主键属性,我是否也必须指定sql:"primary_key"?
没有那些我的代码似乎工作正常.只是想知道他们的好处和用法.
我想你指的是像gorm这样的ORM库
在这种情况下,元数据类似sql:"primary_key"或sql:"index"将只是告诉ORM在尝试设置表时创建索引或者可能会迁移它们.
gorm中的几个示例可能是:索引,主键,外键,many2many关系,或者在尝试将现有模式调整到gorm模型时,明确设置类型,例如:
type Address struct {
ID int
Address1 string `sql:"not null;unique"` // Set field as not nullable and unique
Address2 string `sql:"type:varchar(100);unique"`
Post sql.NullString `sql:"not null"`
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5776 次 |
| 最近记录: |