pythonでsqliteを使用しております。
その際、sql文内で変数をしようしたいと考えているので、「?」を使っております
。
その使い方がわからずに質問させていただきます。
python
1dbname = '〇〇〇〇' 2conn = sqlite3.connect(dbname) 3cur = conn.cursor() 4sql = """ 5 UPDATE 6 あ 7 SET 8 内容 = ? 9 WHERE 10 題名 = ? 11 """ 12namelist = ("あいうえお", "阿") 13cur.execute(sql, namelist)
このコードですと、目的通りにデータベースを上書きできます。
しかし、
python
1dbname = '〇〇〇〇' 2conn = sqlite3.connect(dbname) 3cur = conn.cursor() 4sql = """ 5 UPDATE 6 ? 7 SET 8 内容 = ? 9 WHERE 10 題名 = ? 11 """ 12namelist = ("あ", "あいうえお", "阿") 13cur.execute(sql, namelist)
とすると、
sqlite3.OperationalError: near "?": syntax error
というエラーが出ます。
UPDATEの後の「?」の使い方がおかしいのだと予想できるのですが、何がおかしいのかわかりません。
もしわかる方がいらっしゃいましたら、どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/24 08:25