で "executemany"を使用すると、MySQLサーバーがなくなりました。この関数はエラーなく実行されました。Pythonコード
def insertRows(self, query,data):
self.cursor.executemany(query,data)
self.connection.commit()
しかし、私は同じデータのための別のコンピュータ上で自分のコードを実行すると、私は次のエラーを得ました。
MySQL Error [2006]: MySQL server has gone away
Traceback (most recent call last):
File "main.py", line 157, in <module>
writePostingLists(lst)
File "main.py", line 32, in writePostingLists
mydb.insertKNNIndex(postingLists,tabelName)
File "/home/pythonCode/Doc2Vec_Annoy/KNN/MySQLRepository.py", line 78, in insertKNNIndex
self.insertRows(query,inputList)
File "/home/pythonCode/Doc2Vec_Annoy/KNN/MySQLRepository.py", line 31, in insertRows
self.connection.rollback()
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
私はこの問題は、私がexecutemany機能に与えるリストの長さであることが分かりました。データの長さが300未満
どのように私はこの問題を解決することができたとき
上記のコードは問題なく実行されますか? MySQlの設定に関連していますか?
私はコンピュータでこのエラーが発生する理由を探しています。私が探している解決策ではありません。 – Fatima
@ファティマは更新された答えを参照してください。 – David542