pyodbc.ProgrammingError: ('The SQL contains 1 parameter markers, but 7 parameters were supplied', 'HY000')

pyodbc.ProgrammingError: ('The SQL contains 1 parameter markers, but 7 parameters were supplied', 'HY000')

当 运行 下面的脚本以以下错误结束时,因为我确实找到了关于此错误的其他帖子,所以我没有找到与我的脚本类似的修复方法。

language = ['Chinese (Simplified)', 'Chinese (Traditional)', 'English', 'French', 'Indonesian', 'Japanese', 'Korean']

cursor.execute("SELECT * from TABLE_NAME WHERE Language=?", language)
data = cursor.fetchall()

我遇到的错误:

pyodbc.ProgrammingError: ('The SQL contains 1 parameter markers, but 7 parameters were supplied', 'HY000')

inside language 有 7 项,但你只有 1 项?在 cursor.execute() 内 你可以试试 lan=','.join([str(elem) for elem in language])

cursor.execute("SELECT * from TABLE_NAME WHERE Language in ?", 局域网)