You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gorm AutoMigrate重复创建唯一键及初始迁移报错问题求助

Gorm AutoMigrate重复创建唯一键及初始迁移报错问题求助

大家好,我最近在使用Gorm的AutoMigrate功能时碰到了两个棘手的问题,想请教下社区的各位大佬:

首先是初始迁移报错的问题,我定义了如下结构体:

type TestTable struct {
    ID      uint `gorm:"unique;autoIncrement"`
    QuoteID uint `gorm:"primaryKey"`
}

当我执行AutoMigrate的时候,直接报错:there can be only one auto column and it must be defined as a key。看报错信息是Gorm试图把两个列都设为自增,但我明明只给ID加了autoIncrement标签啊?这实在有点费解。

后来我把QuoteID的标签改成gorm:"primaryKey;autoIncrement:false",这个报错倒是解决了,迁移能正常执行了。但新的问题又来了——每次执行AutoMigrate,Gorm都会去修改这个表,重复创建唯一键,比如第一次是id_1,第二次变成id_2,第三次id_3,以此类推,这就导致数据库里的唯一键越来越多,完全不正常。

我已经翻遍了Gorm的官方文档,没找到相关的解决方案,实在没辙了,希望有遇到过类似问题的朋友能给点帮助!谢谢大家,祝大家一天愉快 :)

备注:内容来源于stack exchange,提问作者Placeblock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:25:34