我试图插入到我的表中的数据大约有95k行。因此,本质上,我试图使用executemany(sql,data)函数插入95k值。
我最初的怀疑是,要插入的值集的数量太多,以至于executemany()函数无法处理。如果这确实是原因,或者如果有任何其他可能导致以下错误消息的原因,有什么想法吗?
回溯(最近一次调用):文件"/Users/ssrikanthan/anaconda/envs/ilc-load/lib/python3.5/site-packages/mysql/connector/network.py",第130行,在send_plain self.sock.sendall(数据包)BrokenPipeError中: Errno 32断管
发布于 2016-02-03 08:46:09
尝试增加max_allowed_packet变量:
set global max_allowed_packet=262144000;我们还可以从MySQL Config中更新相同的内容,如:
[mysqld]
max_allowed_packet=250M更新配置后,需要重新启动MySQL服务才能生效,这是更新变量的最佳方法。从查询中设置变量不是很好,因为值在MySQL服务重新启动时更新为默认值。
这个变量的默认值是1MB,这在某些情况下是不够的,比如包含大量数据插入的您的变量。因此,在执行来自MySQL的插入、更新和转储等大型数据操作时,应该更新该变量。最大值限制到这个变量1GB,但是在所有情况下,将其设置为250 MB就足够了。
https://stackoverflow.com/questions/35172078
复制相似问题