0

我是 python 和 SQL 的新手,但享受学习曲线。

我正在使用pymssql并且我认为这将是一个相当基本的问题。

在一个函数中,我需要在表中插入一条记录,并将我之前计算的一些变量传递给 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(),它只需要两个。

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

现在,您正在向它传递两个参数。第一个是一个字符串,第二个是tuple你的变量(注意额外的())。

于 2012-11-14T12:32:31.767 回答