0

我正在为我们的 mysql 服务器编写一个基础设施库。我必须处理的一种情况是与 mysql 服务器的临时断开连接。

测试场景是开始对数据库进行大约 100000 次插入,然后停止数据库并将其恢复。

在这种情况下,我在停止期间运行的查询明显收到 ER_QUERY_INTERRUPTED 错误。问题是:

我可以假设数据库的状态(例如查询未启动)将其视为未定义的行为并将此问题沿链传递给用户吗?

4

1 回答 1

0

好吧,经过一些测试,出现了以下答案。我们(和大多数人)使用默认模式为事务的InnoDB 。因为它ER_QUERY_INTERRUPTED被发送到客户端,所以服务器上的查询被回滚。由于这种错误处理策略,在这种情况下,我们将重新提交所有出现此类错误的查询。

于 2013-07-30T08:17:36.303 回答