あなたの元の質問への答えは:いいえ、そのようなリストを挿入することはできません。
しかし、いくつかの調整で、あなたは%r
を使用してタプルを渡すことによって、そのコードの作品を作ることができる:
variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1, variable_2]
print "INSERT INTO table VALUES %r;" % (tuple(varlist),)
残念ながら、変数の挿入のそのスタイルはSQL injection attacksに対して脆弱あなたのコードを残します。
代わりに、我々はPython's DB APIを使用して、データを挿入するための複数の疑問符を持つカスタマイズされたクエリ文字列を構築するお勧めします。
variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1,variable_2]
var_string = ', '.join('?' * len(varlist))
query_string = 'INSERT INTO table VALUES (%s);' % var_string
cursor.execute(query_string, varlist)
例をSQLite3 docsの先頭には、質問を使用して引数を渡す方法を示していますなぜそれらが必要なのかを説明しています(基本的に、変数の正確な引用を保証しています)。
エラーメッセージを持っている場合、あなたは質問にそれを含める必要があります。 –
なぜredisを使用しないのですか?astとredis-pyモジュールを使用している場合、あなたはredis.eg.r.set(a、[1,2,3,3])にリストを書くことができます。 = ast.literal_eval(r.get(a))リストを取得する –