我正在尝试使用sqlite在python中参数化子查询,但仍然遇到语法错误。我的查询如下,
cur.execute("SELECT Name FROM names WHERE SectionCode = (SELECT SectionCode FROM names WHERE Key = ?, (tempemail,))")
基本上,我想获得一个列表,其中包含与存储在变量tempemail中的密钥的人具有相同部分的人的所有名称。我已经尝试过不对参数进行参数化,但我遇到了不同的错误。单独的查询似乎有效,但不是如上所述嵌套。有人可以提供任何指导吗?
答案 0 :(得分:2)
引号内的任何内容都是SQL语句;外面的任何东西都是Python代码。
您要为execute
函数提供的参数是一个Python变量:
cur.execute("SELECT ... = (SELECT ... WHERE Key = ?)", (tempemail,))