(“ 42000”,“ [42000] [Microsoft] [ODBC Microsoft Access驱动程序] INSERT INTO语句中的语法错误。(-3502)(SQLExecDirectW)”)

时间:2018-12-15 16:12:03

标签: python database date pyodbc

我一直在尝试整理此代码以与我的数据库一起使用,但是无论我尝试了什么,它似乎都不想插入。其他插件也起作用,但是我对此没有任何运气。

id = str(5)
price = str(300)
a = datetime.date.today()
day = (a.strftime('%d/%m/%Y'))
day = str(day)
cursor.execute("insert into StockDate(StockID, Date, StockPrice) values (?, ?, ?)", 
(id, day, price))
cnxn.commit()

我不断收到此错误:

  

('42000','[42000] [Microsoft] [ODBC Microsoft Access驱动程序] INSERT INTO语句中的语法错误。(-3502)(SQLExecDirectW)')

我觉得这可能与日期有关,但老实说我没有太多线索。如果有帮助的话,我的数据库中的日期将格式设置为日/月/年。

1 个答案:

答案 0 :(得分:2)

“日期”是保留字。将列名Date放在方括号中(如[Date]所示),以表明您将其用作名称:

cursor.execute("insert into StockDate(StockID, [Date], StockPrice) values (?, ?, ?)", 
(id, day, price))