我的应用程序我有一个表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 约束是外键的。
注意 getContentValues()
方法用于从提供的值对象创建android.content.ContentValues
对象。