2017-10-25 21 views
-2

フィールドは=> [u'sender '、u'timestamp'、u'number '、u'mms'、u'datetime '、u 'text'、u'id ']executemany()は3つの引数(2つ)をとります - Pythonを使ったmysql

dataList is => [False、1475565742761L、u'VM-449100'、False、u'2016-10-04 12:52:22 GMT + 05:30 '上記のコードを実行するには、ここでu'Someテキスト」、1276)]

cursor = connection.cursor() 
    query = """INSERT INTO messages """+str(tuple(fields))+""" VALUES (%s, %s, %s, %s, %s, %s, %s) """,dataList 

    cursor.executemany(query) 

私は、エラー=> executemany()は正確に3つの引数(2与えられた)

+0

このエラーメッセージはかなり明確です。十分な議論をしているわけではありません。あなたの質問は何ですか? – Carcigenicate

+0

次に、Pythonを使ってmysqlに複数の行を挿入する方法を教えてください –

+0

'executemany'関数のドキュメントを読んだことはありますか? – Carcigenicate

答えて

1

SQLクエリとパラメータを取りにすべき取得しています単一の引数として渡すことができます。あなたは現在、代わりにタプルを渡しています。 queryは現在の文字列である、と私はカンマ区切りの文字列にフィールドのリストを変換するjoinを使用していること

cursor = connection.cursor() 
query = """INSERT INTO messages (""" + ",".join(fields) + """) VALUES (%s, %s, %s, %s, %s, %s, %s) """ 

cursor.executemany(query, dataList) 

注:私はそれを変更します。 str(tuple(fields))を使用すると、不要なu''という接頭辞が付く可能性があります。

関連する問題