我是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个)
我做错了什么,记住我在学习,这样做会更优雅吗?
答案 0 :(得分:2)
您将每个参数分别传递给execute()
,其中只需要两个。
cursor.execute("INSERT INTO table (field1, field2, field3) VALUES(%s, %s, %s)",
(var1, var2, var3))
现在,你传递了两个参数。第一个是字符串,第二个是变量的 tuple
(注意额外的()
)。