首页 > 解决方案 > 使用 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”重复

为什么会发生这种情况,我该如何解决?

标签: gogo-gorm

解决方案


推荐阅读