前提・実現したいこと
Pythonのsqlite3公式ドキュメントを参考にSQL文のクエスチョンマーク(qmark)に値をバインドしたいと考え、以下のようにコードを書いたところエラーが出ています。正常に文が生成できる方法を教えてくだされば幸いです。
ソースコード
DB構成↓
table名: users
id | name | status | ... |
---|---|---|---|
0 | hoge | 0 | ... |
1 | fuga | 2 | ... |
... | ... | ... | ... |
Python3
1import sqlite3 2 3db_name = "data.db" 4 5connection = sqlite3.connect(db_name) 6cursor = connection.cursor() 7 8 9sql = "SELECT ? FROM users WHERE id = ?" 10t = ("name", 0) 11 12cursor.execute(sql, t) 13data = cursor.fetchone() 14 15connection.close() 16
発生しているエラーメッセージ
Traceback (most recent call last): File "test.py", line 12, in <module> cursor.execute(sql, t) sqlite3.OperationalError: near "?": syntax error
環境
Windows10 Home 1909
Python 3.8.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/10 07:11 編集