我有两张桌子:
表1- create table table1(_id integer primary key, content text not null );
表2- create table table2(_id integer primary key, id_parent integer, content text not null , CONSTRAINT [FK_table2_id_parent] FOREIGN KEY (id_parent) REFERENCES table1 (_id) ON DELETE CASCADE );
但是DELETE CASCADE
没有做任何事情......任何人都知道我做错了什么?
[编辑:
当我尝试从table1中删除行时,我可以,但是当我查找table2时,所有记录都存在......甚至那些具有不再存在于Table1中的id_parent的人。]
我正在使用android 2.2。
答案 0 :(得分:4)
首先确保您使用的create table命令在语法和逻辑上都是正确的。
如果是,那么这是由于以下原因:
声明和定义外键并不真正适用于它们。 您需要明确指出数据库中的外键约束。
if (!db.isReadOnly()) {
// Enable foreign key constraints
db.execSQL("PRAGMA foreign_keys=ON;");
}