0

我正在尝试使用 python 和 pypyodbc 将数据添加到数据库(以及 MS Access)。我已经在 MS Access 中测试了我的插入语句作为查询,它可以工作。问题是当我在程序中运行它时会出现以下错误:

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

我的插入语句如下所示:

INSERT INTO Database (columnAText,columnBText,columnText,columnDTime,columnEText,columnFText,columnGNumber) VALUES ('a','b','c','00:00:17','e','f','100')

请注意,列标题包括其类型作为其名称的一部分,因为这是一个测试表。

该程序是这样工作的:

列数比插入语句中的多,因为 ID 有一个自动增量列。这意味着必须在插入语句中定义列才能将数据提交到正确的列中。因此,如果一行有一个空条目,则插入语句中会丢失该列。

我看不出插入语句有什么问题,尤其是当它直接在 MS Access 中工作时。

我在 Windows 7 机器上使用 ActivePython33 和 pypyodbc,MS Access 2010。

4

1 回答 1

0

DATABASE是 Access SQL 中的保留字,因此您需要将其括在方括号中:

INSERT INTO [Database] ...
于 2014-05-21T18:40:08.793 回答