使用db.Create和db.FirstOrCreate将数据保存到数据库时,“ID”列的值为“0”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用db.Create和db.FirstOrCreate将数据保存到数据库时,“ID”列的值为“0”相关的知识,希望对你有一定的参考价值。

我正在使用“do.FirstOrCreate”检查我的数据,如果我的表中不存在数据,我想要创建数据,除了未生成“ID”(“ID”列的值为0)之外,一切正常。

这是我的代码:

domain object

enter image description here

codes calling db.FirstOrCreate

enter image description here

这是插入我的用户表的数据:

enter image description here

gorm版本是:1.9.1

答案

将您的定义更改为如下所示

type User struct {
  gorm.Model
  ID int `gorm:"AUTO_INCREMENT"`
  ..
  ..
}

以上是关于使用db.Create和db.FirstOrCreate将数据保存到数据库时,“ID”列的值为“0”的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Rails 创建数据库时出错,rake db:create

如何在 Heroku 上 rake db:drop 和 rake db:create? [复制]

与 db.create_all() SQLAlchemy Python3.6 相关的问题

为什么总是在重启容器时运行db:create?

db.create_all() 在磁盘上但不在内存中创建模式

make rake db:create 设置除开发、测试或生产之外的另一个数据库