Android sqlite删除触发器冲突

时间:2014-11-05 08:26:31

标签: android android-sqlite sqliteopenhelper

我遇到了删除触发器的问题。

在上删除之前 (或在上删除后),表格上有 unique()替换冲突。据我所知,替换会执行删除 - >在桌面上插入,但似乎触发器未被触发。

我检查了触发器,当我手动删除行时(在Android上使用SQLite编辑器),触发器被调用。我是否要将我的数据库设置为应用程序中的特殊内容以调用此触发器?

1 个答案:

答案 0 :(得分:1)

我在SQLite fire DELETE trigger on a REPLACE

找到了解决方案
  

由于REPLACE冲突解决而删除行时,会触发删除触发器。只有在启用递归触发器时才会启用此功能。

的帮助下
public void onOpen(SQLiteDatabase db) { // in SQLiteOpenHelper
    super.onOpen(db);

    if (!db.isReadOnly()) {
        db.execSQL("PRAGMA recursive_triggers = true");
    }
}

它有效。