如何用GORM在Go中实现软删除,将DeletedAt字段逻辑巧妙改写?

2026-04-29 00:420阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计995个文字,预计阅读时间需要4分钟。

如何用GORM在Go中实现软删除,将DeletedAt字段逻辑巧妙改写?

GORM的软删除本质是将DeletedAt字段设置为非零时间值,而不是执行DELETE SQL语句。它不依赖于手动添加字段或编写条件,只需在结构体中包含gorm.DeletedAt类型的DeletedAt字段,GORM便会自动启用软删除逻辑。

常见错误现象:删完查不到记录,但数据库里行还在;或者调 Delete() 后发现 DeletedAt 是空值、没生效——大概率是字段类型不对或没加 gorm.Model 嵌入。

阅读全文

本文共计995个文字,预计阅读时间需要4分钟。

如何用GORM在Go中实现软删除,将DeletedAt字段逻辑巧妙改写?

GORM的软删除本质是将DeletedAt字段设置为非零时间值,而不是执行DELETE SQL语句。它不依赖于手动添加字段或编写条件,只需在结构体中包含gorm.DeletedAt类型的DeletedAt字段,GORM便会自动启用软删除逻辑。

常见错误现象:删完查不到记录,但数据库里行还在;或者调 Delete() 后发现 DeletedAt 是空值、没生效——大概率是字段类型不对或没加 gorm.Model 嵌入。

阅读全文