【问题标题】:Insert Statement error for Access DatabaseAccess 数据库的插入语句错误
【发布时间】:2014-05-20 13:56:50
【问题描述】:

我正在尝试使用 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。

【问题讨论】:

    标签: ms-access python-3.x pypyodbc


    【解决方案1】:

    DATABASE 是 Access SQL 中的 reserved word,因此您需要将其括在方括号中:

    INSERT INTO [Database] ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多