如何将自动增量添加到表

问题描述

我正在尝试向 Go 项目中的表添加自动增量,但它似乎对我不起作用

`gorm:"primary_key;column:uuid;not_null;type:int(32);autoIncrement" json:"uuid"`

将其保留在给定字段的结构中。 (也试过AUTO_INCREMENT,自动增量但不工作)

解决方法

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"`