【问题标题】:Python pydobc SQL ODBC Microsoft Access Drive Too few parametersPython pyodbc SQL ODBC Microsoft Access Driver 参数太少
【发布时间】:2016-12-12 05:13:35
【问题描述】:
试图获得与 TableA 和 TableB 匹配的过滤结果,其中包含 col1 列和 WHERE python 变量“Bingo”不在 TableB col3 中
bingo = 'Data1'
SQL = 'SELECT a.* FROM TABLEA a WHERE a.col1 NOT IN (SELECT col1 FROM TABLEB) AND (?) NOT IN (SELECT col3 FROM TABLEB);'
rows = cur.execute(SQL,bingo).fetchall()
【问题讨论】:
标签:
sql
python-2.7
ms-access
pyodbc
【解决方案1】:
您不能参数化字段的名称。你最好使用str.format() 的 Python 替换/格式化,例如:
bingo = 'Data1'
SQL = 'SELECT a.* FROM TABLEA a WHERE a.col1 NOT IN (SELECT col1 FROM TABLEB) AND {} NOT IN (SELECT col3 FROM TABLEB);'.format(bingo)
rows = cur.execute(SQL).fetchall()