python - ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. (-3502) (SQLExecDirectW)')

标签 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 Driver] Syntax error in INSERT INTO statement. (-3502) (SQLExecDirectW)')

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

最佳答案

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

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

关于python - ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. (-3502) (SQLExecDirectW)'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794941/

相关文章:

Python multiprocessing Process PID与实际PID不同

python - 当 fork 发生时,主进程中的 Numpy 线程池大小会发生变化

python - 所有组合,而不是使用 if 和 elif

mysql - 如何在sequel pro中查询具体值?

database - 1 :1 or 1:0 relationship 的归一化

ios - 如何设置特定 UITableViewCell 的背景颜色

php - 如果不是当前日期,则将 SQL 日期变为红色

python - 使用 bool 表达式分配字符串

sql - DB (SQL) 自动压力/负载工具?

java - 如何在不知道字符串格式的情况下将字符串转换为日期?