【问题标题】:Execute an insert query include date into access by python执行插入查询将日期包含到 python 访问中
【发布时间】:2021-02-04 10:55:50
【问题描述】:

我正在尝试执行查询以将两个值插入到 access 数据库中的一个简单表中。但是我收到了这个错误:

pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句中的语法错误。 (-3502)(SQLExecDirectW)')

我应该如何写日期格式?我的代码如下所示(代码仅使用要插入的整数,所以我认为我的日期格式不正确):

import pyodbc

conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\Users\behdad\Documents\Database1.accdb;')
cursor = conn.cursor()
cursor.execute("insert into Table1 (date, number) VALUES( '2021-02-05 00:00:00', 24)")

示例表在这里: date format in access

【问题讨论】:

  • 尝试使用# 而不是' 作为分隔符。日期是保留字。建议不要使用保留字作为字段名。如果仍有问题,请尝试[date]
  • 我做了这些技巧,但仍然有错误
  • 谢谢。它正在工作

标签: python ms-access pyodbc


【解决方案1】:

datenumber 都是 reserved words in Access SQL,因此如果您有具有这些名称的列,则需要将名称括在方括号中:

cursor.execute("insert into Table1 ([date], [number]) VALUES( '2021-02-05 00:00:00', 24)")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多