建立事务之后, 若中途还未提交就失败了, 如何关闭该事物?

tx := DB.Begin() //建立事务

    ----
    这中间有其他业务逻辑, 产生err.tx.Where()是个CURD封装,语句上出现串接错误,而非事务错误;
    return err;
    如果直接return err,逻辑肯定有问题.    这个TX没有关闭
    -----

    // 这里才执行事务操作
    tx.Query()......
    if err != nil {
        tx.Rollback()
    } else {
        tx.Commit()
    }
    return err

共 1 个回复


sevenhe

有错误直接Rollback呗,我想问下,关闭啥。另外,中间业务不包含事务的使用,那等你使用事务之前再begin呗。

# 0