我何时应该为sqlite数据库启用约束?

时间:2013-08-22 12:13:26

标签: android sqlite

我有必要使用onConfigure()回调来启用数据库约束db.setForeignKeyConstraintsEnabled(true);。但这些只能从API 16获得。我的最低SDK版本是14,那么我应该在哪里启用约束?

1 个答案:

答案 0 :(得分:0)

对于较低的Android级别 - 即Android 2.2以后支持SQLITE 3.6.22使用

@Override
public void onOpen(SQLiteDatabase db) {
    super.onOpen(db);
    if (!db.isReadOnly()) {
        // Enable foreign key constraints
        db.execSQL("PRAGMA foreign_keys=ON;");
    }
}

直接将密钥添加到您的数据库

foreign_id INTEGER REFERENCES foreignparent [ON DELETE CASCADE]

外键约束仅在SQLITE 3.6.19

之后可用

来源:http://www.sqlite.org/foreignkeys.html

  

本文档描述了对SQL外键约束的支持   在SQLite版本3.6.19中引入