gpt4 book ai didi

mysql - 如何处理 sql.ErrTxDone

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:53 44 4
gpt4 key购买 nike

例如,我正在尝试在我的 mysql 数据库中创建一条新记录。在 sql.ErrTxDone 的情况下,它的实际含义是什么,如果事务已提交,我应该怎么做?

最佳答案

如果交易处于无法再使用的状态,您会收到此错误。

sql.Tx:

After a call to Commit or Rollback, all operations on the transaction fail with ErrTxDone.

还有sql.ErrTxDone :

ErrTxDone is returned by any operation that is performed on a transaction that has already been committed or rolled back.

var ErrTxDone = errors.New("sql: transaction has already been committed or rolled back")

你应该怎么做?不要再使用交易了。如果您有进一步的任务,请在它之外或在另一个事务中执行。

如果您有应该在同一个事务中的任务,请在完成所有必须做的事情之前不要提交它。如果事务被回滚(例如,由于先前的错误),您别无选择,只能重试(使用另一个事务)或报告失败。

如果您已经在使用事务,请尝试将需要发生的所有事情都放在事务中。这就是交易的重点。要么应用其中的所有内容,要么都不应用。正确使用它们,您不必考虑清理它们。他们要么成功,你很高兴,要么他们不成功,你重试或报告错误,但你不必做任何清理。

关于mysql - 如何处理 sql.ErrTxDone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57002228/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com