在 gorm 中,`gorm:”primary_key”` 是一个结构体字段标签,用于显式声明该字段为数据库表的主键;若未指定,gorm 默认使用名为 `id` 的 `uint` 或 `int` 类型字段作为主键,但通过该标签可灵活覆盖默认行为,支持自定义主键名称、类型及复合主键场景。
GORM 通过解析结构体字段的 gorm 标签(如 gorm:”primary_key”)来构建模型元数据。当 GORM 遇到该标签时,会将对应字段标记为逻辑主键,并将其加入 modelStruct.PrimaryFields 列表,从而影响后续的 SQL 生成行为——例如 INSERT 语句是否包含该字段、UPDATE 是否将其作为 WHERE 条件、以及自动迁移(AutoMigrate)时是否为其添加 PRIMARY KEY 约束。
例如,以下结构体明确将 UUID 字段设为主键: