2011-04-26 2 views
2

작동하지 않습니다 : 나는 Location 테이블의 행을 삭제하지 않는 Error_Exception의 행을 삭제하려고했습니다외래 키는 내가 2 개 테이블이 안드로이드 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);"); 

.

나는 또한 db.execSQL("PRAGMA foreign_keys=ON;");으로 시도했지만 아직 작동하지 않습니다.

도와주세요

당신은 위치에서 참조 된 행이 삭제 될 때 Error_Exception의 행을 삭제하는 데이터베이스를 말 했어요

답변

5

. 당신은 뒤로 물건을 가지고있는 것 같습니다.

Error_Exception의 행을 삭제할 때 위치의 행을 삭제하려면 Error_Exception에 외래 키 제약 조건을 삭제하고 위치에 외래 키 제약 조건을 추가해야합니다.

+0

정말 고맙습니다. 실수를 지적 해 주셔서 감사합니다. –