android - 关于删除级联android 2.2

标签 android sqlite cascade cascading-deletes

我有 2 张 table :

表1- 创建表table1(_id整型主键,内容文本不为空);

表 2- 创建表 table2(_id 整数主键,id_parent 整数,内容文本不为 null ,约束 [FK_table2_id_parent] 外键 (id_parent) 引用 table1 (_id) ON DELETE CASCADE );

但是DELETE CASCADE没有做任何事情...有人知道我做错了什么吗?

[编辑:

当我尝试从 table1 中删除行时,我可以,但是当我查找 table2 时,记录都在那里......甚至那些具有 id_parent 的记录在 Table1 中不再存在。]

我使用的是 Android 2.2。

最佳答案

首先确保您使用的创建表命令在语法和逻辑上都是正确的。

如果是,则原因如下:

声明和定义外键并不能真正应用它们来执行操作。 您需要明确数据库中的外键约束。

if (!db.isReadOnly()) {
            // Enable foreign key constraints
            db.execSQL("PRAGMA foreign_keys=ON;");
        }

关于android - 关于删除级联android 2.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10634762/

相关文章:

Android MapView - 自定义缩放按钮

android - 如何用IDEA+Gradle+Android运行单元测试

php - 将用户输入插入数组,然后插入 sqlite 数据库

java - SQLiteDatabase 多线程锁定模式

c++ - 如何在 Haar Cascade 分类过程中查看阳性

android - fragment 托管另一个 fragment ,如何引用宿主 fragment ?

android - Dagger 生成多个改造拦截器实例

java - 从 SQLite 从游标读取数据时发生致命异常

sqlite - SQLite删除键上的外键不起作用

sql-server - 级联删除链接表连接 2 个表,每个表都有一个级联删除到另一个表。如何?