私が持っている:sqlite3データベースに "?" - pythonの
データベースtesting.db3に テーブル:mytableは コラム: '名前'、 'ステータス'
私は:
con = sqlite3.connect('testing.db3')
cur = con.cursor()
cur.execute('select * from mytable where status is null')
data = cur.fetchone()
print(data[0])
を私は次の結果を受け取りたかったよう私がしなければ
('Johnny', 'None')
今、私はこの行を更新しようとしています、それは動作します:
cur.execute('UPDATE mytable SET status = "Online" WHERE name is "Johnny"')
しかし、「?」で更新したい場合は、機能しません。どんな考え?
cur.execute('UPDATE mytable SET status = "Online" WHERE name is ?', data[0])
con.commit()
con.close()
助けていただければ幸いです。ありがとうございました。
エラーメッセージは何ですか?これは2つのパラメータを挿入するためですが、 'execute'は1つしか期待していませんか? – imant
"sqlite3.ProgrammingError:指定されたバインディングの数が正しくありません。タプルの最初の値であるdata [0]を選択しました。 –
'data [0]'の値が "Johnny"であるということですか?私が間違っているなら私を訂正してください。 – imant