问题是我无法创建名为 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
最佳答案
DATE
是 reserved word在 Access(和其他软件)中。
尝试用方括号 []
将 Date
列名括起来,或者更好的是,提出一个不同的列名。
...
query = "create table MyTable(name varchar(30), age integer , [Date] date)"
...
关于python Pyodbc,无法在表中创建名为 "Date"的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14345132/