获取解析失败约束的名称

时间:2014-08-15 08:14:46

标签: android sqlite android-sqlite unique-constraint

在android sqlite和sql server之间同步多主机数据库期间,我需要在android上解决失败的唯一约束。我已经在android中创建了sqlite数据库,其中包含所有主键,外键和唯一约束。

这是一个样本表的示例。

db.execSQL("CREATE TABLE " + Tables.ARTIST + " ("
            + BaseColumns._ID + " INTEGER,"
            + ArtistColumns.ID + " TEXT NULL,"
            + ArtistColumns.MODELTYPE + " TEXT NULL,"
            + ArtistColumns.NAME + " TEXT NULL,"
            + "FOREIGN KEY (" + ArtistColumns.MODELTYPE + ") " + References.MODELTYPE_ID + ","
            + "unique(" + ArtistColumns.MODELTYPE + "," + ArtistColumns.NAME + ")"
            + "PRIMARY KEY(" + ArtistColumns.ID + "))");

我正在使用contentprovider进行数据库操作。在提供程序中的insert方法中,我可以通过捕获SQLiteConstraintException来捕获失败约束的异常。但我需要知道如何才能获得失败的唯一约束的名称,以便我可以解决冲突。

1 个答案:

答案 0 :(得分:0)

最近的SQLite版本显示错误消息中的约束名称。

在Android上,SQLite版本不太可能是最近的。 您必须手动检查可能的字段值。