2011-04-26 65 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