带有Access和pyodb的INSERT语句语法错误

2024-04-18 01:18:43 发布

您现在位置:Python中文网/ 问答频道 /正文

使用pyodbc通过Python将SQL插入到Access数据库中很困难。每次尝试都会抛出一个“无效语法错误”。在

 import pyodbc

 ney = 'data1'
 soy = 'data2'

 MDBA = 'C:/db/dbBase.mdb'; DRVA = '{Microsoft Access Driver (*.mdb)}'; PWDA = 'pw'

 # connect to db
 cona = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRVA,MDBA,PWDA))
 cura = cona.cursor()
 SQL = ("""insert into [db1](col1, col2) values ('ney', 'soy')""") 
 #SQL = ("insert into db1(col1, col2values (?, ?)", ney, soy)

 cura.execute(SQL)
 cona.commit()

我可以做一个SELECT语句,那么INSERT的正确语法是什么呢?在


Tags: dbsqlaccessconnectinsertpyodbcmdbsoy
1条回答
网友
1楼 · 发布于 2024-04-18 01:18:43

我只是把你的代码复制粘贴到IDLE中,它并没有给我带来错误。但是,它还将文字值“ney”和“soy”插入到表中。为了获得这些变量的,您需要使用参数化查询,如下所示:

sql = "insert into [db1] (col1, col2) values (?, ?)"
params = (ney, soy)  # tuple containing parameter values
cura.execute(sql, params)

相关问题 更多 >

    热门问题