2

好吧,在 SQLLite 中不存在级联删除的可能性,或者我不知道如何删除。

假设我有两个表,表 A 和表 B。表 B 有 IDtableA 字段,因为是一个孩子,假设我有以下情况:

1.- 用户 A 从 TableA 加载记录 1 并将其加载到上下文中。2.- 用户 A 从表 B 中加载所有子记录。 3.- 用户 B 向表 B 中添加一条新记录,该记录是表 A 的子表。 4.- 用户 A 保存更改并删除记录 1 和他的所有子记录首次加载,但不包括用户 B 添加的新子项。

因此,在 SqlLite 中,我没有模型,也没有表之间的关系,当用户 B 添加新子时,不检查父级是否存在。

是否可以确保 Sqlite 中的引用完整性?

谢谢。

4

1 回答 1

3

SQLite 支持外键和“on delete cascade”,但在新版本中。

你可以在 SQLite 官方网站上看到这篇文章:

sqlite.org/foreignkeys.html

说:

本文档描述了对 SQLite 版本 3.6.19 中引入的 SQL 外键约束的支持。

此外,您必须为每个连接显式启用外键

这个问题可能会对您有所帮助:在 SQLite 中启用外键约束

您可以通过更改连接字符串并添加:

foreign keys=true; 
于 2012-12-16T10:22:17.687 回答