0

私はPythonとSQLを初めて使用しますが、学習曲線を楽しんでいます。

私はpymssqlを利用していて、かなり基本的な問題になると思います。

関数内で、テーブルに1つのレコードを挿入し、以前に計算したいくつかの変数をINSERTステートメントに渡す必要があります。

現在、私のコードは次のようになっています。

var 1 = "Hello"
var 2 = "Bye"
var 3 = "12/12/12
cursor.execute("INSERT INTO table (field1, field2, field3) VALUES(%s, %s, %s)", var1, var2, var3)

これはエラーを返します:

execute()は最大2つの位置引数を取ります(4つ指定)

私は何を間違っているのか、そして私が学んでいることを念頭に置いて、これを行うためのよりエレガントな方法は何でしょうか?

4

1 に答える 1

2

各引数を別々にに渡しますexecute()。ここでは、2つしかかかりません。

cursor.execute("INSERT INTO table (field1, field2, field3) VALUES(%s, %s, %s)",
               (var1, var2, var3))

今、あなたはそれに2つの引数を渡しています。1つ目は文字列で、2つ目はtuple変数のaです(余分なものに注意してください())。

于 2012-11-14T12:32:31.767 に答える