Delete Record
Warning レコードを削除する際、主キーが値を持っているかを確認してください。GORMはレコードを削除する際に主キーを使うので、主キーが空の場合、GORMはそのモデルの全レコードを削除してしまいます。
// 存在するレコードを削除する |
Batch Record
条件に合致するすべてのレコードを削除する
db.Where("email LIKE ?", "%jinzhu%").Delete(Email{}) |
Soft Delete
モデルにDeletedAt
フィールドがある場合、自動的にソフトデリート機能が使えるようになります。 このときDelete
した場合、レコードはデータベースから物理削除されるのではなく、 DeletedAt
に現在の時間がセットされます。
db.Delete(&user) |
Delete record permanently
// Unscopedを使うことでレコードを完全に消去することができます。
db.Unscoped().Delete(&order)
//// DELETE FROM orders WHERE id=10;