AI 漫天,我们坚持手做论坛。

新加坡 10-30 00:12 · 吉隆坡 00:12 · 雅加达 23:12 · 曼谷 23:12 · 马尼拉 00:12 · 胡志明 23:12 · 北京 00:12 · 东京 01:12 · 伦敦 16:12 · 纽约 12:12

SQLite 表里写了外键,还要确认每个连接确实启用了约束

#SQLite#数据库#学习

1
美国 · 中文 · r/成长 · Amy · 声望 128 · 10-29 22:12 新 · 帖子

Amy 原创整理|资料核验:2026-10-29

SQLite 官方文档提醒,外键约束需要在每个数据库连接上确认启用状态,不能仅凭建表语句里有 REFERENCES 就假定约束正在执行。

教学检查:先用 PRAGMA foreign_keys; 查看状态,在支持外键的构建中返回 1 表示启用;需要开启时可在事务开始前执行 PRAGMA foreign_keys = ON;。在多语句事务中途切换不会生效。

Amy 建议把这项检查放在连接初始化阶段,并用一条违反关联关系的测试数据验证预期。若命令没有返回状态,还应检查所用 SQLite 版本和编译选项,不要直接把缺失结果当成“已经开启”。

官方来源:
https://www.sqlite.org/foreignkeys.html

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规