python Pyodbc,无法在表中创建名为 "Date"的字段

标签 python windows ms-access pyodbc

问题是我无法创建名为 Date 的字段(我认为是因为它是一种类型) 有什么想法吗?

from pyodbc import connect
# database connect
conn = connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ=test.mdb')
cursor = conn.cursor()
# sql query execute
query = "create table MyTable(name varchar(30), age integer , Date date)"
cursor.execute(query)
# commit changes             
conn.commit()
conn.close()

错误:

Traceback (most recent call last):
  File "\Path\to\myscript\test.py", line 9, in <module>
    cursor.execute(query)
ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in field definition. (-3553) (SQLExecDirectW)')

环境:Windows 7 64位,Python 2.7 pyodbc-3.0.6.win-amd64-py2.7

最佳答案

DATEreserved word在 Access(和其他软件)中。

尝试用方括号 []Date 列名括起来,或者更好的是,提出一个不同的列名。

...
query = "create table MyTable(name varchar(30), age integer , [Date] date)"
...

关于python Pyodbc,无法在表中创建名为 "Date"的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14345132/

相关文章:

excel - 通过 CreateObject ("Application"获取 Access 2007 中的全名)..?

sql - MS Access 索引 View

python - 我的递归函数(填充树结构)在每次循环/调用期间添加到根节点

python - 如何在 Python 中模拟类内的属性

python - 将 panda 系列更改为 int

c++ - 奇怪的opengl渲染口吃

windows - nmake:构建 OpenSSL 时找不到命令

python - 使用 pandas.IntervalIndex 作为数据帧索引

C# DirectorySearcher 仅查找服务器所在国家/地区的用户

ms-access - 如何获取子表单字段值?