SQL Update查询中的Python变量

时间:2017-05-17 20:18:13

标签: python sql sqlite

我是Python新手,我遇到了Python-SQLite连接问题。

con=connection()
cur=con.cursor()
cur.execute("""UPDATE table1 SET column1=%s WHERE column2=%d""",(var1,var2))
if(cur.rowcount > 1):
    cur.commit()
else:
    return["Error"]

var1存储字符串,var2存储整数。

错误如下:

  

SQLError('SQLError:near“%”:语法错误',)

我在这里阅读了很多关于如何使用变量编写查询的教程和线程,而且我处于死胡同。

2 个答案:

答案 0 :(得分:2)

根据您要使用的sqlite documentation?为你的变量。例如:

cur.execute(“”“update table1 set column1 =?where column2 =?”“”,(var1,var2))

答案 1 :(得分:0)

这对我有用

mycursor.execute("UPDATE table SET column WHERE name = '%s' AND age = %s" % ("Alex", 30) 

传入字符串时。

<块引用>

使用引号

在execute语句的最后,使用

<块引用>

%

请记住,如果您要传递多个变量,则必须将它们放在一个元组中

我花了很长时间才明白在编写 UPDATE 查询时必须在末尾使用 %