在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
阻止全局删除如果在没有任何条件的情况下执行批量删除,GORM 不会执行该操作,并返回 对此,你必须加一些条件,或者使用原生 SQL,或者启用 db.Delete(&User{}).Error // gorm.ErrMissingWhereClause db.Where("1 = 1").Delete(&User{}) // DELETE FROM `users` WHERE 1=1 db.Exec("DELETE FROM users") // DELETE FROM users db.Session(&gorm.Session{AllowGlobalUpdate: true}).Delete(&User{}) // DELETE FROM users 软删除如果您的模型包含了一个 拥有软删除能力的模型调用 // user 的 ID 是 `111` db.Delete(&user) // UPDATE users SET deleted_at="2013-10-29 10:23" WHERE id = 111; // 批量删除 db.Where("age = ?", 20).Delete(&User{}) // UPDATE users SET deleted_at="2013-10-29 10:23" WHERE age = 20; // 在查询时会忽略被软删除的记录 db.Where("age = 20").Find(&user) // SELECT * FROM users WHERE age = 20 AND deleted_at IS NULL; 如果您不想引入 type User struct {
ID int
Deleted gorm.DeletedAt
Name string
}
永久删除 db.Unscoped().Where("age = 20").Find(&users) // SELECT * FROM users WHERE age = 20; 您可以使用
|
请发表评论