我正在为我们的mysql服务器编写基础结构库。 我必须处理的一个场景是与mysql服务器暂时断开连接。
测试场景是从DB开始大约100000次插入,然后停止db并将其恢复。
在这种情况下,我怀疑在停止期间运行的查询中出现ER_QUERY_INTERRUPTED错误。 问题是:
我可以假设有关数据库状态的信息(例如查询未启动)或将此视为未定义的行为并将其删除向用户链的问题?
答案 0 :(得分:0)
经过一些测试后,出现了以下问答。 我们(和大多数人)使用默认模式为transaction的InnoDB。因此,如果将ER_QUERY_INTERRUPTED发送到客户端,则回滚服务器上的查询。因此,在这种情况下,错误处理策略只是重新提交具有此类错误的所有查询。