SQLiteDatabase:仅在值不存在时插入(不通过原始SQL命令)
由于您不想使用原始查询,因此可以在插入之前实现这一点,只需创建一些函数来测试数据库中是否已存在值。它可以返回boolean(或int),如果返回false,则将执行插入查询。
一个小例子:
public int getCount() { Cursor c = null; try { db = Dbhelper.getReadableDatabase(); String query = "select count(*) from TableName where name = ?"; c = db.rawQuery(query, new String[] {name}); if (c.moveToFirst()) { return c.getInt(0); } return 0; } finally { if (c != null) { c.close(); } if (db != null) { db.close(); } }}if (getCount() == 0) { //perform inserting}如果该值已在行中,则将其再次插入,因此该行现在具有两个具有相同值的值。
这可以通过使用适当的约束来解决,该约束不允许您插入重复项。检查一下:
- SQLite中的约束



