單行指令即可按年份綁定 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 · ✓ 已查證✓