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

如何让Python-SQLite3检测WHERE子句中不存在的列并报错?

解决SQLite查询不存在列不报错的问题

默认情况下,SQLite会将查询中不存在的列视为NULL,所以你代码里的"School Type" = 'District Community Day Schools'会被解析为NULL = 'xxx',逻辑判断结果为假,最终COUNT(*)返回0。

要让这种引用不存在列的操作抛出错误,需要开启SQLite的SQLITE_ENABLE_UNKNOWN_COLUMN_ERROR编译选项。开启该选项后,任何SQL语句引用不存在的列时都会直接抛出错误。

注意:Python自带的sqlite3模块通常没有编译这个选项,如果你需要该功能,需要自行编译带有该选项的SQLite版本,再替换Python的sqlite3依赖库。目前没有可通过运行时PRAGMA设置直接启用该行为的方法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:05:04