我在 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]
希望这有帮助。