2017-09-22 16 views
0

テーブルH0001に日付、時刻、オープン、ハイ、ロー、クローズ、ボリューム、ブル、ベアがあります。 (合計9列)。 2つの異なるソース(テキストファイル)からデータをキャプチャする必要があるため、データセットdataset1を個別に挿入します(日付、時刻、開く、高、低、閉じる、ボリューム)、dataset2:(日付、時刻、Bull、Bear)。 私はこの文でのPythonを使用してデータを挿入:テーブルに2つの挿入クエリを実行する

cur.execute("""REPLACE INTO H0001 (Date, Time, Open, High, Low, Close, Volume) VALUES ('%s','%s','%s','%s','%s','%s','%s')""" % (KDate, KTime, KOpen, KHigh, KLow, KClose, KVolume)) 

エラーが として生じたデータは、各列に挿入することができる 「データ行XXXXXで列 『ベア』の切り捨て」。

は最終的に私は、次のコードを実行しました:

cur.execute("""REPLACE INTO H0001 (Date, Bull, Bear) VALUES ('%s','%s','%s')""" % (KDate, KBull, KBear)) 

エラー

cur.execute("""REPLACE INTO H0001 (Date, Bull, Bear) VALUES ('%s','%s','%s')""" % (KDate, KBull1, KBear1)) 
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 205, in execute 
self.errorhandler(self, exc, value) 
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler 
raise errorclass, errorvalue 
OperationalError: (2013, 'Lost connection to MySQL server during query') 

を発生した。しかし、私は新しいテーブルを作成するとき、私はちょうど日付、時刻、ブル、クマのためによくデータを挿入することができます。 データベースに問題がありますか?

+0

[connect_timeout]または[MySQL](https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html)への再接続を増やすと、2つのクエリ間のコードはおそらく長い時間がかかるため、MySQLとの接続が閉じられます。 –

+0

接続が分離されました。私は2つの異なるpythonファイルでデータベースを接続しました。日付、時間、OHLCVの最初のものを実行し、次に雄牛のための第2のものを実行します。 – tw123789

+0

更新されている行の数は何ですか?詳細は、[こちらを読む](https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html)を参照してください。 –

答えて

0

REPLACE自体が入力されたデータを破棄するため、データを更新するために2番目のコードを使用できませんでした。そのエントリにデータがすでに存在する場合は、代わりにUPDATEを使用する必要があります。

関連する問題