python Pyodbc,无法在表中创建一个名为“ Date”的字段

use*_*345 1 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()
Run Code Online (Sandbox Code Playgroud)

错误:

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)')
Run Code Online (Sandbox Code Playgroud)

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

Bry*_*yan 5

DATE是Access(和其他软件)中的保留字

尝试Date用方括号将列名称包装起来[],或者更好的是,使用其他列名称。

...
query = "create table MyTable(name varchar(30), age integer , [Date] date)"
...
Run Code Online (Sandbox Code Playgroud)