golang通过gorm操作sqlite设置主键自增

在 Golang 中使用 GORM 操作 SQLite 数据库时,可以通过以下步骤设置主键自增:

首先,确保已经安装了 GORM 和 SQLite 的驱动程序。你可以使用以下命令安装它们:

go 复制代码
go get -u gorm.io/gorm  
go get -u gorm.io/driver/sqlite

导入所需的包:

go 复制代码
import (  
    "gorm.io/gorm"  
    "gorm.io/driver/sqlite"  
)

创建数据库连接:

go 复制代码
db, err := gorm.Open(sqlite.Open("mydatabase.db"), &gorm.Config{})  
if err != nil {  
    // 处理错误  
}

创建模型(例如,一个名为 User 的表):

go 复制代码
type User struct {  
    ID   uint   `gorm:"primary_key;auto_increment"`  
    Name string `gorm:"not null"`  
}

在模型中,ID 字段被指定为 primary_key 和 auto_increment,表示该字段是主键并且会自动递增。

执行创建表的操作:

go 复制代码
db.AutoMigrate(&User{})

现在,你可以使用 GORM 插入新记录并自动生成主键值:

go 复制代码
user := User{Name: "John Doe"}  
db.Create(&user)

在插入记录后,user.ID 将包含自动生成的主键值。

这是一个简单的示例,展示了如何在 Golang 中使用 GORM 和 SQLite 设置主键自增。你可以根据自己的需求进行调整和扩展。

相关推荐
朋克洛德的码农6 小时前
Go并发-sync包四剑客:Mutex、RWMutex、WaitGroup、Once-从入门到原理
开发语言·后端·golang
圣殿骑士-Khtangc7 小时前
Go泛型编程实战从类型约束到泛型数据结构
golang
FfHUCisI9 小时前
Golang - 信号量模式(Semaphore Pattern)
开发语言·后端·golang
一个有温度的技术博主10 小时前
DeepSeek Harness 深度解析:与 LangChain / LangGraph 的本质区别
数据库·oracle·langchain·harness
隔窗听雨眠11 小时前
Oracle误Truncate操作恢复:从原理到实战的完整指南
数据库·oracle
报错小能手13 小时前
Go 语言结构 基础语法
开发语言·后端·golang
剩下了什么13 小时前
go语言 Ctx:「错误三:在 Context 中存储可变值」
开发语言·后端·golang
运维开发笔记14 小时前
3.7 Go panic 与 recover 学习笔记
golang
JavaPub-rodert14 小时前
我把 OpenAI 协议塞进了 Go 工具库:go-commons 开始支持 AI 了
开发语言·人工智能·golang
零域码客15 小时前
从 SQLite 到 PostgreSQL:轻量单机到分布式架构选型、避坑与迁移全解析
分布式·postgresql·sqlite·wal·架构设计·后端开发·数据库选型