【问题标题】:How to add autoincrement to a table如何将自动增量添加到表中
【发布时间】:2021-08-08 09:42:48
【问题描述】:
我正在尝试在 Go 项目中向我的表添加自动增量,但它似乎对我不起作用
`gorm:"primary_key;column:uuid;not_null;type:int(32);autoIncrement" json:"uuid"`
将其保存在给定字段的结构中。 (也试过AUTO_INCREMENT,自动增量但不工作)
【问题讨论】:
标签:
go
auto-increment
go-gorm
【解决方案1】:
在documentation of the model field tags 中,它说(强调我的):
type:列数据类型,喜欢使用兼容的通用类型,例如:bool、int、uint、float、string、time、bytes,适用于所有数据库,可以和其他标签一起使用,比如not null , size, autoIncrement... 也支持varbinary(8)等指定的数据库数据类型,当使用指定的数据库数据类型时,需要是完整的数据库数据类型,例如:MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT
这意味着,如果您使用像 int(32) 这样的特定数据类型,您需要指定完整的类型字符串:
`gorm:"primary_key;column:uuid;type:int(32) NOT NULL AUTO_INCREMENT" json:"uuid"`