我的应用程序我有一个表。表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
从提供的值对象创建对象。