- 用 SQLite STRICT 表与 CHECK 约束在建模阶段拦截脏数据:建表时声明严格列类型,并用 CHECK 限制状态枚举和数值范围;演示错误类型与越界插入报错,再用 PRAGMA table_info 和 schema 验证约束生效。 用 SQLite STRICT 表与 CHECK 约束在建模阶段拦截脏数据:建表时声明严格列类型,并用 CHECK 限制状态枚举和数值范围;演示错误类型与越界插入报错,再用 PRAGMA table_info 和 schema 验证约束生效。
- executemany() 能批量执行参数化 SQL,却不自动等于“整批成功或整批失败”。本文用独立内存数据库验证显式事务、约束异常和回滚,说明 Python 3.12 前后的事务接口差异,以及嵌套事务和并发写入的边界。 executemany() 能批量执行参数化 SQL,却不自动等于“整批成功或整批失败”。本文用独立内存数据库验证显式事务、约束异常和回滚,说明 Python 3.12 前后的事务接口差异,以及嵌套事务和并发写入的边界。
- SQLite 的 WAL 模式:读不阻塞写,但先要搞清这三个代价SQLite 默认用回滚日志(rollback journal)模式:写事务提交时要先把旧数据写进日志,写期间读会被阻塞,读期间写也进不来。单进程、偶尔写一次的小工具用它完全够用;但一旦出现“一个进程持续写、另一个进程频繁读”的场景,默认模式的锁竞争就会变成肉眼可见的卡顿。WAL(Write-Ahead Logging)模式就... SQLite 的 WAL 模式:读不阻塞写,但先要搞清这三个代价SQLite 默认用回滚日志(rollback journal)模式:写事务提交时要先把旧数据写进日志,写期间读会被阻塞,读期间写也进不来。单进程、偶尔写一次的小工具用它完全够用;但一旦出现“一个进程持续写、另一个进程频繁读”的场景,默认模式的锁竞争就会变成肉眼可见的卡顿。WAL(Write-Ahead Logging)模式就...
- 用 Python 标准库 sqlite3 的内存数据库演示事务:重复标题触发唯一约束,失败批次自动回滚;另附可运行脚本、输出与常见边界说明。 用 Python 标准库 sqlite3 的内存数据库演示事务:重复标题触发唯一约束,失败批次自动回滚;另附可运行脚本、输出与常见边界说明。
- SQLite 有写锁,应用为何仍会丢失更新?本文用 Python 标准库和两个连接安排确定性交错,实测陈旧读后覆盖、版本条件检测冲突,以及重新读取和计算保留两次增量的过程,并解释事务边界、受影响行数、重试副作用与生产使用条件。 SQLite 有写锁,应用为何仍会丢失更新?本文用 Python 标准库和两个连接安排确定性交错,实测陈旧读后覆盖、版本条件检测冲突,以及重新读取和计算保留两次增量的过程,并解释事务边界、受影响行数、重试副作用与生产使用条件。
- 一张表里的一列混进了几种类型的值,ORDER BY 一跑,顺序看着完全不合直觉:NULL 排在最前面,数字按大小排,文本按字典序排,二进制数据排在最后面,还有一个文本形式的 ‘42’ 没有跟数字 42 排在一起,而是跑到了文本那一组里。数据没有插错,SQL 也没有报错,排序结果却跟“按大小排”这个直觉对不上。这篇笔记用本地 :memory: 数据库把这个现象复现一遍,定位到 SQLite 的... 一张表里的一列混进了几种类型的值,ORDER BY 一跑,顺序看着完全不合直觉:NULL 排在最前面,数字按大小排,文本按字典序排,二进制数据排在最后面,还有一个文本形式的 ‘42’ 没有跟数字 42 排在一起,而是跑到了文本那一组里。数据没有插错,SQL 也没有报错,排序结果却跟“按大小排”这个直觉对不上。这篇笔记用本地 :memory: 数据库把这个现象复现一遍,定位到 SQLite 的...
- Python 的 SQLite 连接上下文负责事务提交与回滚,并不会关闭连接。通过一个唯一约束失败的批量写入示例,说明怎样组合 with conn 与 contextlib.closing,让事务边界、异常处理和连接生命周期各自清楚。 Python 的 SQLite 连接上下文负责事务提交与回滚,并不会关闭连接。通过一个唯一约束失败的批量写入示例,说明怎样组合 with conn 与 contextlib.closing,让事务边界、异常处理和连接生命周期各自清楚。
- SQLite ORDER BY 时 NULL 为什么总排在最前面一张表里混进了几条 NULL,ORDER BY 一跑,NULL 全挤到了最前面。改成 DESC,NULL 又跑到了最后面。数据没错,SQL 没报错,排序结果却跟直觉对不上。这篇笔记把这个现象复现一遍,定位到 SQLite 的排序规则,再给出两种改法,全部用本地 :memory: 数据库验证,不需要任何现成数据。 现象:NULL... SQLite ORDER BY 时 NULL 为什么总排在最前面一张表里混进了几条 NULL,ORDER BY 一跑,NULL 全挤到了最前面。改成 DESC,NULL 又跑到了最后面。数据没错,SQL 没报错,排序结果却跟直觉对不上。这篇笔记把这个现象复现一遍,定位到 SQLite 的排序规则,再给出两种改法,全部用本地 :memory: 数据库验证,不需要任何现成数据。 现象:NULL...
- JSON 文件撑不住条件查询与并发写时,不必急着上 MySQL。Python 标准库 sqlite3 自带嵌入式数据库,一个文件就是一个库,零安装零配置。本文用五分钟示例跑通建表与增删改查,盘点参数化防注入、executemany 批量写入、连接管理等新手坑,并演示配合 pandas 导出 Excel 的用法。 JSON 文件撑不住条件查询与并发写时,不必急着上 MySQL。Python 标准库 sqlite3 自带嵌入式数据库,一个文件就是一个库,零安装零配置。本文用五分钟示例跑通建表与增删改查,盘点参数化防注入、executemany 批量写入、连接管理等新手坑,并演示配合 pandas 导出 Excel 的用法。
- 从后台任务偶发的 database is locked 入手,分析 SQLite 默认日志模式、长事务和超时设置的影响,并给出 Python sqlite3 的连接、事务与并发改造示例。 从后台任务偶发的 database is locked 入手,分析 SQLite 默认日志模式、长事务和超时设置的影响,并给出 Python sqlite3 的连接、事务与并发改造示例。
- 定时任务被重复调度一次,账单就翻倍。本文给出日期主键 upsert、JSON 状态文件、pending/done 两阶段标记三种落法,并讲清先写标记还是先执行的取舍。 定时任务被重复调度一次,账单就翻倍。本文给出日期主键 upsert、JSON 状态文件、pending/done 两阶段标记三种落法,并讲清先写标记还是先执行的取舍。
- SQLite WAL 模式:先把“写锁”这件事讲清楚用 SQLite 做单机应用时,最常踩的坑不是 SQL 写错,而是并发一上来就报 database is locked。默认的回滚日志(rollback journal)模式下,写事务会独占整个数据库文件,读操作也得排队等。换成 WAL(Write-Ahead Logging)模式后,读和写可以并行,这个坑基本就平了。 WAL 到底改了什... SQLite WAL 模式:先把“写锁”这件事讲清楚用 SQLite 做单机应用时,最常踩的坑不是 SQL 写错,而是并发一上来就报 database is locked。默认的回滚日志(rollback journal)模式下,写事务会独占整个数据库文件,读操作也得排队等。换成 WAL(Write-Ahead Logging)模式后,读和写可以并行,这个坑基本就平了。 WAL 到底改了什...
- 用 Python 内置 sqlite3 写一个命令行待办清单,含建表、增删改查与按截止日期排序的完整可运行代码,适合学生日常任务管理。 用 Python 内置 sqlite3 写一个命令行待办清单,含建表、增删改查与按截止日期排序的完整可运行代码,适合学生日常任务管理。
- 平时习惯用Markdown随手记技术踩坑、代码片段和零碎想法,几年下来积攒了四五千篇小文本。以前找东西靠grep或者本地编辑器的全局文本搜索,只要关键词记错一个字就搜不出来。前段时间想给这套笔记加个AI语义检索功能,把每篇笔记提取出向量存起来,敲一段大白话就能把意思相近的旧笔记翻出来。我的个人服务都跑在一台华为云2核4G的轻量云服务器上,上面还挂着个人博客和几个定时抓取脚本,资源本来就比较紧... 平时习惯用Markdown随手记技术踩坑、代码片段和零碎想法,几年下来积攒了四五千篇小文本。以前找东西靠grep或者本地编辑器的全局文本搜索,只要关键词记错一个字就搜不出来。前段时间想给这套笔记加个AI语义检索功能,把每篇笔记提取出向量存起来,敲一段大白话就能把意思相近的旧笔记翻出来。我的个人服务都跑在一台华为云2核4G的轻量云服务器上,上面还挂着个人博客和几个定时抓取脚本,资源本来就比较紧...
- 直接复制正在写入的 SQLite 文件可能导致备份损坏。本文介绍 Python sqlite3 的 Connection.backup() 在线备份,通过 pages 参数分块复制并注册进度回调,在不中断写入的前提下获得一致备份。 直接复制正在写入的 SQLite 文件可能导致备份损坏。本文介绍 Python sqlite3 的 Connection.backup() 在线备份,通过 pages 参数分块复制并注册进度回调,在不中断写入的前提下获得一致备份。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签