我对某些数据收到以下错误,概念足够清晰:
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
但是,这并没有帮助我找到哪个特定记录具有无效的FK.有没有办法打开我的代码并尝试用新事务隔离每个插入,有没有办法打开(或提取)日志记录,使用有用的详细信息,例如有问题的表,甚至导致问题的FK值?
此外,我正在使用SqlBrite,并已启用调试日志记录(只记录操作,我仍然没有获得有关错误的更多信息)
更新: 这是我自己的代码上面的所有logcat; 本质上是在尝试关闭先前打开的事务(BriteDatabase.Transaction)时捕获的异常(BriteDatabase.Transaction对象是一个新的添加;我只是从SqlBrite 0.1.0迁移到0.4.1).
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522)
at com.squareup.sqlbrite.BriteDatabase$1.end(BriteDatabase.java:85)
Run Code Online (Sandbox Code Playgroud)