1. ホーム
  2. python

[解決済み] バインドパラメーター 0 のエラー: おそらくサポートされていないタイプです。

2022-02-17 01:32:30

質問

私のコードのどこが問題なのかがわからないのですが、ずっと

error "binding parameter 0 - probably unsupported type". 

以下は私のコードです。

last = 'EBERT'

sakila = connect("sakila.db")
res = sakila.execute("SELECT first_name, last_name FROM customer WHERE last_name = ?",[(last,)])

for row in res:
    print(row)

というところに持っていくと EBERT がクエリ内にあり、変数に設定されていない場合は正常に動作するので、タプルの構文か何かの問題であることはわかっています。私は、括弧なしで、2番目の変数に first_name また、カーソルを別に定義した場合としない場合など、基本的に思いつく限りの方法を調べましたが、どこにも行き着くことができませんでした。

どのように解決するのですか?

ネストされたリスト、タプルは、次のように使用されます。 executemany には適用されません。 execute .

パラメータを含むフラットリスト(またはタプル)を渡す。

res = sakila.execute(
    "SELECT first_name, last_name FROM customer WHERE last_name = ?",
    (last,))

または

res = sakila.execute(
    "SELECT first_name, last_name FROM customer WHERE last_name = ?",
    [last])