什么是知道插入语句是否违反android sqlite中的唯一约束的最佳方法

时间:2012-03-25 21:16:33

标签: android sqlite

在我的android应用程序中,我的计划是使用SQLiteDatabas对象运行一堆插入语句。

我想要的是当insert语句违反唯一约束时,我可以知道错误发生在哪个insert语句中,而insert语句不会影响DB

有人知道怎么做吗?我看到了insertWithOnConflictinsertOrThrow方法。当发生唯一约束违规时,我能否知道第一种方法?

1 个答案:

答案 0 :(得分:1)

  

我想要的是当insert语句违反唯一约束时,我可以知道错误发生在哪个insert语句中,而insert语句不会影响DB。

如果INSERT语句违反了唯一约束,则根据定义它不会影响数据库。它会抛出一个SQLiteException。如果您需要具体了解哪个INSERT违反了约束条件,请一次执行一条约束,包含在您自己的交易中(beginTransaction()setTransactionSuccessful()endTransaction())。