带有Access和pyodbc的INSERT语句中的语法错误

时间:2016-12-01 05:42:55

标签: python python-2.7 ms-access pyodbc

我很难通过Python使用pyodbc将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的正确语法是什么?

1 个答案:

答案 0 :(得分:1)

我只是将您的代码复制并粘贴到IDLE中,但它并没有给我带来错误。但是,它还插入了文字价值观' ney'和大豆'进入表格。要获取这些变量的,您需要使用参数化查询,如下所示:

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