go - 使用 gorm 的 AutoMigrate 时出现“重复的列名 'id'”错误
问题描述
我有一个gorm
看起来像这样的模型:
type MyModel struct {
gorm.Model
ID int `gorm:"primary_key;AUTO_INCREMENT;not null;unique"`
CountryID int `gorm:"not null"`
SomeID int `gorm:"not null;unique"`
...
...
但是当我运行时:
server.DB.Debug().AutoMigrate(&models.MyModel{})
我看到以下查询正在数据库上运行:
CREATE TABLE `my_model` (`id` int unsigned AUTO_INCREMENT,`created_at` timestamp NULL,`updated_at` timestamp NULL,`deleted_at` timestamp NULL,`id` int AUTO_INCREMENT NOT NULL UNIQUE,`country_id` int NOT NULL,varchar(255),`has_self` boolean,`limit` boolean , PRIMARY KEY (`id`,`id`))
我得到了错误:
错误 1060:列名“id”重复
为什么会发生这种情况,我该如何解决?
解决方案
推荐阅读
- python - 派格莱特。将Sprite放入Batch时如何设置Sprite的“z”轴值
- stm32 - STM32 - RTOS - 最大堆栈大小
- python-3.x - python转义解释(如何触发break)
- c++ - 在并发环境中访问 MMIO 的软件模式
- firebase - 在本机反应中识别firebase身份验证和数据库查询超时
- ios - 无法运行我从 GitHub 获得的 swift 应用程序?
- java - 设置自定义样式时缺少菜单按钮
- google-sheets - 将 IMPORTXML 函数输出格式化为时间“h:mm”
- raspberry-pi - yocto raspberrypi 显示默认启动画面而不是 raspberrypi 启动画面
- r - 如何在因子加载大于0.5的条件下向水平条添加三种颜色