2

私のアプリケーションにはテーブルがあります。テーブルPROJECTSのスキーマは次のとおりです。

CREATE TABLE PROJECTS (Id INTEGER PRIMARY KEY, Name TEXT, ParentId INTEGER, FOREIGN KEY  (ParentId) REFERENCES PROJECTS (Id) ON DELETE CASCADE ON UPDATE CASCADE);

そしてPRAGMA foreign_keysこれで。
しかし、Javaコードから行を更新しようとすると、例外android.database.sqlite.SQLiteConstraintException がスローされ、 foreign key constraint failed (code 19).

コード

mDatabase.update(mTableName, getContentValues(projectObject), primaryKeyColumn + "=?", new String[] { projectObject.getId()});

外部キーにはON UPDATE CASCADE制約がありますが、失敗する理由がわかりません。

NOTE getContentValues()メソッドは、android.content.ContentValues提供された値オブジェクトからオブジェクトを作成するためのものです。

4

0 に答える 0