【问题标题】:('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. (-3502) (SQLExecDirectW)')('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句中的语法错误。(-3502) (SQLExecDirectW)')
【发布时间】:2019-05-16 14:56:47
【问题描述】:

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

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] INSERT INTO 语句中的语法错误。(-3502) (SQLExecDirectW)')

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

【问题讨论】:

    标签: python database date pyodbc


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢,现已修复。你真的救了我!
    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多