0
sqliteコマンドにメソッドパラメータを渡そうとしていますが、問題があります。含むSqlite3 Pythonに値を渡す
私が試してみましたいくつかの異なる方法が:
c.execute('''SELECT ?, count(*)
FROM posts
GROUP BY 1''', (var,))
c.execute('''SELECT :variable, count(*)
FROM posts
GROUP BY 1''', {"variable" : var})
私はこの上python docsを見て、私はそれらを以下のいと信じています。
これらのメソッドは、列を選択しますが、langは、列と渡される変数の値の名前です
[('lang', 3284469)]
を返しません両方。これは、より多くの
[('en', 3289)]
[('es', 845)]
....
[('ze', 39)]
のようになります。私は作業を取得することができた唯一の方法は次のとおりです。
c.execute('''SELECT '''+var+''', count(*)
FROM posts
GROUP BY 1''')
私はこれを行うには良い方法があり、これには特に満足していませんか?私は間違って何をしていますか?ありがとう
列名または表名にはパラメーター置換を使用できません。連結または補間はそれを行う唯一の方法です。 –
補間はどういう意味ですか?ありがとう – kopo222
通常のPython文字列メソッド、 '" SELECT {} FROM posts ".format(var)' 'のように。 –