如何统计数据库列中的非NULL字段数量?
验证ID_Campionato列非NULL值数量的解决方案
针对你的需求——统计ARCHIVIO_Squadre_Campionato表中ID_Campionato列的非NULL字段数量(预期结果13),来验证后续插入的锦标赛ID是否正确,这里有简单直接的实现方式:
核心SQL查询
SQLite的COUNT()函数在指定列名时,会自动忽略该列的NULL值,所以直接用这条查询就能得到你要的结果:
SELECT COUNT(ID_Campionato) AS non_null_id_count FROM ARCHIVIO_Squadre_Campionato;
整合到你的Python代码中
在执行完UPDATE操作后,添加这段统计和验证逻辑:
# 统计ID_Campionato列的非NULL数量 cursor.execute("SELECT COUNT(ID_Campionato) FROM ARCHIVIO_Squadre_Campionato;") non_null_count = cursor.fetchone()[0] print(f"ID_Campionato列非NULL数量: {non_null_count}") # 验证是否符合预期值13 if non_null_count == 13: print("数据插入验证通过!") else: print(f"验证失败:预期13条非NULL记录,实际为{non_null_count}条")
补充说明
你提到知道可以统计总记录数,但因为ID_Campionato是后续单独插入的,总记录数和该列非NULL数可能不一致——这正是COUNT(ID_Campionato)的优势:它只关注目标列的有效数据,完美匹配你的测试校验需求,而COUNT(*)会统计所有行,无法区分该列是否存在未填充的NULL值。
内容的提问来源于stack exchange,提问作者Erling Olsen
相关产品推荐
相关产品推荐

