5

現在、入力パラメーターに応じてデータを挿入する基本的なクエリに取り組んでいますが、実行できません。

cur.execute("INSERT INTO foo (bar1, bar2) values (?, ?)", (foo1, foo2))

次のエラー メッセージが表示されます。

Tkinter コールバック トレースバックの例外 (最新の呼び出しが最後):
ファイル "/usr/lib/python3.2/tkinter/ init .py"、1426 行、呼び出しで return self.func(*args) ファイル "test.py"、 9 行目、レジスタ内 cur.execute("INSERT INTO foo (bar1, bar2) values (?,?)", (foo1, foo2)) ファイル "/usr/local/lib/python3.2/dist-packages/pymysql /cursors.py"、108 行目、execute query = query % escaped_args TypeError: % のサポートされていないオペランド型: 'bytes' および 'tuple'

foo1 と foo2 は両方とも文字列型です。で試しましたが%s、同じエラーです。

4

1 に答える 1

2

のようbugですcursors.pyここここで提案されているように、次の行をcursors.py次のように置き換える必要があります。

query = query % conn.escape(args)

これとともに:

query = query.decode(charset) % conn.escape(args)

うまくいかなかった場合は、代わりにこれを試してください:

query = query.decode(charset) % escaped_args
于 2013-05-01T20:25:08.447 に答える