sqlite SQL Update查询中的Python变量

9rygscc1  于 2023-05-18  发布在  SQLite
关注(0)|答案(2)|浏览(147)

我对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“%":syntax error',)
我在这里读了很多关于如何用变量编写查询的教程和线程,但我陷入了死胡同。

ux6nzvsh

ux6nzvsh1#

根据sqlite documentation你想使用?你的变量。示例:

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

hfsqlsce2#

这对我很有效

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

当传入字符串时。
使用引号
并在execute语句的末尾使用
%
请记住,如果你要传递多个变量,你必须把它们放在一个元组中

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

相关问题