To execute a delete against a database, use .Executor() on your DeleteDataset to get an executor, then call .Exec() to perform the operation. You can use .RowsAffected() to see how many rows were deleted.
If you used a .Returning() clause, you can use .ScanVals() to scan the returned values into variables or slices.
// Basic execution
db := getDb()
de := db.Delete("goqu_user").
Where(goqu.Ex{"first_name": "Bob"}).
Executor()
if r, err := de.Exec(); err != nil {
fmt.Println(err.Error())
} else {
c, _ := r.RowsAffected()
fmt.Printf("Deleted %d users", c)
}
// Execution with Returning
de := db.Delete("goqu_user").
Where(goqu.C("last_name").Eq("Yukon")).
Returning(goqu.C("id")).
Executor()
var ids []int64
if err := de.ScanVals(&ids); err != nil {
fmt.Println(err.Error())
} else {
fmt.Printf("Deleted users [ids:=%+v]", ids)
}