pyodbc MS 访问驱动程序语法错误,但语法看起来正确



我在 Access 数据库上有 2 个表。我需要将表 2 中的 a、b、c 列的数据插入表 1 的 a、b、c 列中。这是我为完成它而编写的python代码。

import pyodbc
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ= G:devTOTAL MAIN DATABASE  OF COMPUTER OF IUB.mdb')
cursor = conn.cursor()
cursor.execute('''INSERT INTO [TOTAL LIST  OF COMPUTER SET:] (ITEM  DESCRIPTIONS, SUPPLIER, PRODUCT  NUMBER, RECEIVING DATE, WARRANTY  STATUS, SCHOOL/DEPT, PRESENT  LOCATION, PRESENT USER, WORK ORDER NO, UNIT PRICE, REMARKS )
SELECT 
ITEM  DESCRIPTIONS, SUPPLIER, PRODUCT  NUMBER, RECEIVING DATE, WARRANTY  STATUS, SCHOOL/DEPT, PRESENT  LOCATION, PRESENT USER, WORK ORDER NO, UNIT PRICE, REMARKS 
FROM [TOTAL PRINTER FOR ALL]''')

我不断收到无法定位的语法错误。 错误是pyodbc。编程错误: ('42000', '[42000] [Microsoft][ODBC Microsoft 访问驱动程序] 插入 INTO 语句中的语法错误 也许这里有人可以看到语法错误? 我的猜测是大写列名称困扰了驱动程序。

import pyodbc
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ= G:devwhole.accdb')
cursor = conn.cursor()
cursor.execute('''INSERT INTO  [TOTAL LIST  OF COMPUTER SET:1] ([ITEM  DESCRIPTIONS], [SUPPLIER], [PRODUCT  NUMBER], [RECEIVING DATE], [WARRANTY  STATUS], [SCHOOL/DEPT], [PRESENT  LOCATION], [PRESENT USER], [WORK ORDER NO], [UNIT PRICE], [REMARKS])
SELECT [ITEM  DESCRIPTIONS], [SUPPLIER], [PRODUCT  NUMBER], [RECEIVING DATE], [WARRANTY  STATUS], [SCHOOL/DEPT], [PRESENT  LOCATION], [PRESENT USER], [WORK ORDER NO], [UNIT PRICE], [REMARKS]
FROM [ATTENDENCE DEVICE FOR ACCESS CONTROL SYSTEM]''')
try: 
conn.commit()
except Exception as e:
print(e)

访问表的正确语法:[table_name]访问列的正确语法:[column_name]希望这有帮助。

最新更新