【发布时间】:2011-04-10 15:46:45
【问题描述】:
我在我的项目中执行 foreign_key pragma 语句时遇到问题。目前我已将其写入程序中。
SQLiteStatement pragma = db.compileStatement("PRAGMA foreign_key = ON;");
pragma.execute;
这些语句是在创建数据库后执行的,从那时起创建表,一切正常。
问题是当我使用 sqlite3 调试数据库时,我在 sqlite3 中执行 (pragma foreign_key;) 语句,它总是显示 foreign_keys 已关闭,除非我在调试期间明确启用它。
所以我的问题是如何在我的应用程序中执行 PRAGMA 语句?
仅供参考,sqlite 版本是 3.6.22,默认情况下关闭外键,但没有定义省略外键或省略触发器。而且我知道我需要定义触发器来强制执行外键约束。虽然我确实想知道为什么。
【问题讨论】:
标签: sqlite