erlang中查询执行错误时mysql查询回滚

erlang中查询执行错误时mysql查询回滚,erlang,Erlang,我正在使用odbc模块执行一组mysql查询。我需要处理回滚和提交。所以在连接时我设置了{auto_commit,off}。为了成功执行查询,它工作得很好。但在任何查询出错时,我都无法回滚或重复该操作 当查询执行出错时,连接被关闭。有了这种死联系,我什么也做不了。odbc:commit()在同一个连接上工作 我无法使用新连接重复相同的查询,因为mysql锁定了这些记录 我如何回退并处理这种情况 你应该试着找出为什么连接被关闭。它是定义的行为还是代码中有什么东西使它在失败时关闭?您是否收到任何错误

我正在使用odbc模块执行一组mysql查询。我需要处理回滚和提交。所以在连接时我设置了{auto_commit,off}。为了成功执行查询,它工作得很好。但在任何查询出错时,我都无法回滚或重复该操作

当查询执行出错时,连接被关闭。有了这种死联系,我什么也做不了。odbc:commit()在同一个连接上工作

我无法使用新连接重复相同的查询,因为mysql锁定了这些记录


我如何回退并处理这种情况

你应该试着找出为什么连接被关闭。它是定义的行为还是代码中有什么东西使它在失败时关闭?您是否收到任何错误消息?odbc创建一个进程来保持mysql连接(tcp连接)。当odbc引用进程收到tcp_closed消息时出现任何查询执行错误,它将在句柄信息中捕获该消息。从erlang odbc本机驱动程序或mysql关闭连接吗?我如何回滚错误发生前执行的操作?