0

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

4

1 回答 1

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

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

于 2013-08-22T12:30:39.613 回答