You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sqlalchemy操作Access数据库报Invalid SQL data type错误如何解决

问题原因

报错的核心原因是代码中给first字段赋值的语句末尾多了一个多余的英文逗号:test.first = "Test",。
Python语法规则中,单个值后跟随逗号会被自动封装为元组类型,因此你实际存入first字段的值是('Test',)元组,而Model定义中first字段为String字符串类型,写入数据时Access ODBC驱动无法将元组识别为合法的字符串参数,因此抛出SQL数据类型无效的报错。
如果该代码此前运行正常,大概率是近期修改代码时不小心误加了这个逗号。

修复方法

直接删除test.first = "Test",末尾的逗号即可,修正后代码如下:

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

修正后first字段被赋值为正常的字符串类型,参数绑定即可正常执行,不会再报类型错误。

内容的提问来源于stack exchange,提问作者Shark00n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:54:02