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 需要字符串类型。
我收到这个错误:
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 需要字符串类型。