我在python 3中使用pymysql运行查询,如下所示:
conn = 'con info here'
cur = conn.cursor()
cu.execute('sql goes here')查询在以下几行之间进行:
load data
local infile 'file path'
ignore into table table_name
fields terminated by '/t'
optionally enclosed by '"'
lines terminated by '\r\n'
ignore 1 lines
(@col1,
@col2,
@col3)
set
(col1indb = @col1,
col2indb = @col2,
col3indb = @col3)当我执行这个查询时,我立即得到了如下结果:
File "/opt/python3/lib/python3.4/site-packages/pymysql/cursors.py", line 296, in _query
conn.query(q)
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 781, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 942, in _read_query_result
result.read()
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 1143, in read
self._read_load_local_packet(first_packet)
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 1178, in _read_load_local_packet
sender.send_data()
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 1317, in send_data
self.connection._write_bytes(packet)
File "/opt/python3/lib/python3.4/site-packages/pymysql/connections.py", line 929, in _write_bytes
raise err.OperationalError(2006, "MySQL server has gone away (%r)" % (e,))
pymysql.err.OperationalError: (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))")因为错误是立即发生的,所以我确信它不是超时。我运行的其他每个查询都运行得很好,即使是类似的load查询。
我的问题是,MySQL语法中的什么会导致这个错误??
谢谢!
发布于 2018-01-31 18:41:24
我在pymysql、python3.5和远程MySQL服务器上也遇到了同样的问题。当我尝试插入一个包含大量LONGTEXT字段的条目时(例如,手动gcc 4次),它将回答相同的错误:MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))。当我只使用一个很短的文本行时,它工作得很好,比如"HELLO WORLD“。
https://stackoverflow.com/questions/34772642
复制相似问题