当我尝试用下面这句SQL代码查询数据库中的一个表格中的"Course_dict"和“Titile_list”字段对应的数据时,报了"sqlite3.OperationalError: near "?": syntax error "的错误,但是看了半天也没看出这句SQL代码哪里有问题。
# SQL查询语句
SQL = "SELECT COURSE_DICT,TITLE_LIST FROM ? WHERE STU_ID =?"
arg = (table_name,stu_id)
# 执行 SQL语句
cursor.execute(SQL, arg)
result = cursor.fetchone()
经过一番尝试,发现将上诉查询SQL语句修改如下时,问题就迎刃而解了。
# SQL查询语句
SQL = "SELECT COURSE_DICT,TITLE_LIST FROM {table} WHERE STU_ID =?".format(table=table_name)
arg = (stu_id,)
# 执行 SQL语句
cursor.execute(SQL, arg)
result = cursor.fetchone()
我猜想大概是表格名不能用占位符 "?" 指代吧,背后的具体原因暂不清楚,还望知道的大佬指点指点。