Android中的sqlite插入新行,重复一些值

时间:2011-11-08 12:07:44

标签: android sqlite

:我有这张桌子:

id            |      name          |      chapter      |    book

 1                  hamlet                  I               Hamlet

 2                  Ismael                  IV              Moby Dick

我期望新值的行为是:

同名&&同一本书=>字符存在,因此与现有字符相同:

 2                   Ismael                   X              Moby Dick

同名&&不同的书=>字符不存在因此更改id:

 3                   Ismael                  XX              The Bible     

我的问题是:

在插入新值然后插入新值之前,我是否必须进行查询?

或者有办法通过设置触发器或其他东西以自动方式完成它?

我的CREATE TABLE语句

    db.execSQL("CREATE TABLE characters (id INTEGER NOT NULL , 
   name TEXT NOT NULL , chapter TEXT NOT NULL , book TEXT NOT NULL );");

1 个答案:

答案 0 :(得分:0)

我认为这样做最优雅的方法是隔离行的属性,以便能够无误地识别它们。让我们假设例如name + book使该行唯一,然后您可以将这些字符串连接到对象中的一个标识符,向数据库添加列,在其上放置和索引以及在要插入新元素时搜索此索引