一条命令即可按年份绑定 SQLite 的安全默认设置
SQLite 拟引入的 PRAGMA edition=2026 会启用外键、严格类型和 WAL 模式,以此修复因默认设置宽松而导致的隐性数据损坏。
- SQLite 默认忽略外键,这使得已删除的行会留下悬垂引用。
- 2026 版本将通过单行 PRAGMA 命令开启外键、严格类型和 WAL 模式。
- 该模式借鉴了 Rust 的年度版本系统,能够保持旧有代码的行为不变。
为什么重要: 数据库之所以能将危险的默认设置保留数十年,原因在于向后兼容,而非出于无知。
mort.coffee (author "Mort"), blog post "SQLite should have (Rust-style) editions" ↗ · 2026年7月15日26/7/15 · ✓ 已核实✓