我有這兩個表級別和翻譯。在關卡表中有翻譯的外鍵約束。 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