使用Pyodbc插入Access 2013时的语法错误 - python

我正在使用Pyodbc,并尝试将值插入Microsoft 2013 Access数据库。但是,每次我运行代码时,在执行行上都会出现错误:

pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. (-3502) (SQLExecDirectW)')

有谁知道如何解决这个问题?我把我的代码放在下面。

conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Database2.accdb;")
cur=conn.cursor()
sql="""INSERT INTO Invoices (LINE TYPE,INVOICE NUMBER) VALUES (?,?)"""
cur.execute(sql,("Line","41243"))

python大神给出的解决方案

名称中带有空格的列需要用方括号括起来:

sql="""INSERT INTO Invoices ([LINE TYPE],[INVOICE NUMBER]) VALUES (?,?)"""

如果您可以控制表设计,则可以考虑从列名中删除空格,用下划线(LINE_TYPE)或使用pascal大小写(LineType)代替。