2011-04-26 44 views
2

工作,我有2个表:外键是不是在Android 2.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);"); 

当我试图删除行中Error_Exception它不是在Location表中删除的行。

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

请帮

回答

5

你已经告诉你的数据库中Error_Exception删除行时在位置引用的行被删除。你似乎有事情落后。

如果你想在当前位置删除行时在Error_Exception行被删除,需要删除的Error_Exception外键约束,在位置添加一个外键约束。

+0

非常感谢您much..pointing了那个错误。 – 2011-04-29 07:19:35