ファイルからデータを行単位で読み取り、各行を MySQL データベースに挿入するスクリプトを作成しています。これを行うには mysql.connector を使用します。これがスクリプトの一部です。
def insert_query(data):
return ("INSERT INTO " + tblname + " (`log`) " + "VALUES " + "(" + "'" + data + "'" + ")")
with open('data.txt', 'r') as f:
lines = f.readlines()
for line in lines:
add_line = insert_query(line)
cursor.execute(add_line)
cursor.commit()
ファイル data.txt のサイズは 5Mbyte ですが、約 10000 行あります。tblname には 2 つのフィールドがあります: ID - INT (11) (自動インクリメント) 、ログ - TEXT このスクリプトを実行すると、データベースに約 100 行追加され、クラッシュしました。エラーが報告されます:
mysql.connector.errors.ProgrammingError: 1064 (42000): SQL 構文にエラーがあります。「)」については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
MySQL バージョン: 5.5.27 この問題を解決するには? ありがとう。