Python SQLalchemy 'Invalid SQL data type' 错误

Python Sqlalchemy 'Invalid SQL data type' Error

我收到这个错误:

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY004', '[HY004] [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type  (67) (SQLBindParameter)')
[SQL: UPDATE table SET first=?, second=? WHERE table.id = ?]
[parameters: (('Test',), 'Test', 5)]

而 运行 此代码:

...

    test = session.query(Table).filter(Table.test == test_var).first()
    test.first = "Test",
    test.second = "Test"
    session.commit()

...

型号:

class Table(Base):
    
    __tablename__ = 'table'
    
    id = Column(Integer, primary_key=True)
    test = Column(String)
    first = Column(String)
    second = Column(String)

第一个参数看起来像一个列表,这是怎么发生的,我该如何解决?这段代码已经运行了几次,没有任何问题,这就是我对此感到困惑的原因。

非常感谢您的帮助。

您是否打算在此行末尾添加一个逗号?

   test.first = "Test",

我认为这导致 python 将 test.first 解释为一个元组,它无法插入到 table 中,因为 table 需要字符串类型。