我有这两个表级别和翻译。在关卡表中有翻译的外键约束。 sql语句看起来像这样sqLite ON DELETE CASCADE不适用于Android
Translation table:
CREATE TABLE Translation(idTranslation INTEGER PRIMARY KEY AUTOINCREMENT, de TEXT NOT NULL,frTEXT NOT NULL);
Level table:
CREATE TABLE Level (idLevel INTEGER PRIMARY KEY, fkTranslation INTEGER NOT NULL, status INTEGER NOT NULL,FOREIGN KEY (fkTranslation) REFERENCES Translation (idTranslation) ON DELETE CASCADE);
但是现在当我试图删除一个条目fron级别时,相应的转换条目不会被删除!
不,我还没有忘记把
db.execSQL("PRAGMA foreign_keys=ON;");
上的OnOpen()。
而且delete命令前右我
db.execSQL("PRAGMA foreign_keys;");
检查,如果其上返回,它返回1,所以它的活跃。
有没有人知道我可以测试什么或者我犯了什么错误?我已经测试了很多东西,我不知道错误在哪里。
感谢您事先已经
在我的情况下,我需要删除级别删除时的翻译。反过来也是如此。但它应该工作吗?或者我错了?并且已经非常感谢你的努力! – jor
@jor我编辑了我的答案以添加更多解释。希望现在清楚。 – wvdz
你是我的朋友! – jor