python 向数据库写数据,可以写一部分,但是之后就报2006错误
发布网友
发布时间:2022-04-10 00:55
我来回答
共2个回答
热心网友
时间:2022-04-10 02:24
关于mysql为什么gone away我这里就不描述了。你有时间可以详细看一下教程,对你会有很大帮助的。
这里仅仅讲如何处理这件事情,从python程序员来说,如果没有mysql server的管理权限如何去处理。
建议是两个办法,第一是找到合适的时间点进行commit; 第二是进行出错处理。具体到你这个情况,我建议是写50条后,就主动发起一个commit;的mysql命令。写在你自己的mysql的语句后面。 很有可能,不用重新连接也可以解决这个问题。 第二就是当发生mysql gone away错误时,先尝试关闭cursor,再尝试关闭mysql连接,然后进行mysql的重新连接, cursor当然也去重新初始化,重新将刚才失败的语句进行写入。
如果正好是50条语句一起写入,还没有来得及commit就失败了,有可能需要将50条全部重新写入一次。
如果你用的是insert方法, 需要在insert后面加一个ignore,这样避免重复记录的产生。
如果遇到新的问题,再灵活处理。
热心网友
时间:2022-04-10 03:42
http://www.jb51.net/article/23781.htm