参数化Python SQLite子查询的困难

0 投票
1 回答
963 浏览
提问于 2025-04-18 03:03

我正在尝试在Python中使用SQLite对一个子查询进行参数化,但总是遇到语法错误。我的查询是这样的,

cur.execute("SELECT Name FROM names WHERE SectionCode = (SELECT SectionCode FROM names WHERE Key = ?, (tempemail,))")

简单来说,我想获取一个列表,里面是和存储在变量tempemail中的人的同一组的所有人的名字。我也尝试过不进行参数化查询,但那样又遇到了不同的错误。单独的查询似乎都能正常工作,但像上面那样嵌套在一起就不行了。有没有人能给我一些建议?

1 个回答

2

引号里面的内容是SQL语句;引号外面的就是Python代码。

你想要传给execute函数的参数是一个Python变量:

cur.execute("SELECT ... = (SELECT ... WHERE Key = ?)", (tempemail,))

撰写回答