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