外键ON DELETE CASCADE在Android 2.2中不起作用

Din*_*ati 2 sqlite android

我有2张桌子:

db.execSQL("Create Table Location(LocationID INTEGER PRIMARY KEY AUTOINCREMENT, 
Latitude TEXT, Longitude TEXT," +
" CellID TEXT, MCC TEXT, MNC TEXT, LAC TEXT, SendTime TEXT DEFAULT
(datetime('now','localtime')), SignalStrength INTEGER, LocationType TEXT)");

db.execSQL("Create Table Error_Exception(LocationID INTEGER, ExceptionID INTEGER
PRIMARY KEY AUTOINCREMENT, ModuleID TEXT, ClassName TEXT, ControlName TEXT, " +
"MethodName TEXT, ErrorDescription TEXT, ErrorDate TEXT DEFAULT
(datetime('now','localtime')),
FOREIGN KEY(LocationID) REFERENCES Location(LocationID)
ON DELETE CASCADE);");
Run Code Online (Sandbox Code Playgroud)

当我尝试删除其中的行时,Error_Exception不删除Location表中的行.

我也试过db.execSQL("PRAGMA foreign_keys=ON;");但仍然没有工作.

请帮忙

Mik*_*ll' 5

当已删除位置中的引用行时,您已告知数据库删除Error_Exception中的行.你好像落后了.

如果要在删除Error_Exception中的行时删除位置中的行,则需要在Error_Exception中删除外键约束,并在Location中添加外键约束.