【发布时间】:2019-06-14 01:09:36
【问题描述】:
尝试在简单的 sql 查询中使用命名参数。为参数赋值后,参数名称被标记为未定义 (NameError)
相同的查询与位置参数一起工作正常 尝试使用不同参数名称的不同表 直接传递值而不是通过变量
import sqlite3
myConn = sqlite3.connect("testDB.db")
myCursor = myConn.cursor()
myCursor.execute(
"SELECT CourseName FROM Courses WHERE CourseName =:course",{'English':course})
print(myCursor.fetchone())
我应该只从数据库中检索一行。 相反,我收到以下错误消息
line 14, in <module>
myCursor.execute("SELECT CourseName FROM Courses WHERE CourseName =:course",{'English':course})
NameError: name 'course' is not defined
【问题讨论】:
-
改用
{'course': 'English'}。 -
谢谢,这不是问题,尽管您的评论让我走上了正轨。在该字典中,键应该是引号之间的命名参数,值应该是在代码中其他地方实例化的变量。
-
它不一定是变量,您也可以使用字符串文字。您是否尝试根据我的评论更改它?
标签: python-3.x sqlite