Go gorm软删除和硬删除

2 min read

gorm的软删除和硬删除都是数据库中的操作,但它们的实现方法不同。

软删除是指在删除数据库记录时,并不是真的将记录从数据库中删除,而是将其标记为已删除状态,通常是在该记录中添加一个字段,如“deleted_at”,将其值设为当前时间戳。这样做的好处是可以避免误删除数据,而且软删除的数据并不占用太多存储空间。gorm实现软删除的方式是在模型中添加一个"deleted_at"字段,并设置它为时间戳类型。

硬删除则是直接从数据库中删除记录,不保存任何信息。如果你需要永久地删除数据,那么就可以使用硬删除。不过硬删除的危险性比较高,如果误操作就会永久删除掉数据,因此需要谨慎使用。gorm实现硬删除的方式是调用模型的Delete方法,该方法将从数据库中删除记录,并返回受影响的行数。