我有 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/