Db删除查询始终返回true

时间:2017-08-26 16:25:44

标签: postgresql go

我正在使用golang和postgres。我想通过传入该用户的Id来从我的表中删除用户。当我运行下面的代码时,我总是成真。即使我传入表中不存在的ID。这是正常的吗?如果用户ID不在数据库中,DB.Exec是否返回错误?

func DeleteUser(ID int){
    err = nil
    _, err := DB.Exec("DELETE FROM Users WHERE user_id=$1", ID)

    if err == nil {

        return true
    }

    return false

}

1 个答案:

答案 0 :(得分:0)

试试这个

func DeleteUser(ID int){
    err = nil
    res, err := DB.Exec("DELETE FROM Users WHERE user_id=$1", ID)

    if err == nil {

       count, err := res.RowsAffected()  
       if err == nil {
          /* check count and return true/false */
       }

    }

    return false

}