如何在android中插入相同的记录但不同的值

如何在android中插入相同的记录但不同的值,android,android-sqlite,Android,Android Sqlite,我在sqlite中有两列,分别是name和date,name已将其设置为unique以避免重复输入,但我的问题是我想在“name”列中插入相同的记录,但在“date”列中插入不同的记录。我也用它来过滤重复的记录,它起作用了 try { dbOpenHelperss.insertOrThrow("table", values); } catch (SQLiteConstraintException e) //to detect if there is a duplicated it

我在sqlite中有两列,分别是name和date,name已将其设置为unique以避免重复输入,但我的问题是我想在“name”列中插入相同的记录,但在“date”列中插入不同的记录。我也用它来过滤重复的记录,它起作用了

try {
    dbOpenHelperss.insertOrThrow("table", values);
} catch (SQLiteConstraintException e)
    //to detect if there is a duplicated item
}
例如,在列\u name='Peter Xavier'列\u date='02/15/14中,我想插入具有不同日期的Peter Xavier记录,如列\u name='Peter Xavier',列\u date='02/16/14

到目前为止我所尝试的是

if(!"column_date".equals(colum_name)) {
    //to compare two columns are not the same then insert                               
    ContentValues values = new ContentValues();
    values.put("column_name",name );
    values.put("column_date", date);

    try {
        dbOpenHelperss.insertOrThrow("table", values);
    } catch (SQLiteConstraintException e) { 
        // to detect if there is a duplicate entry
    }
}

添加复合键。这意味着列名称和列日期一起作为键工作


唯一(
column\u name
column\u date
),

删除
name
列的
Unique
。并使用新列以避免重复。ex:id.正如Gunaseelan所说..如果你想在name列中插入重复的值,那么为什么要定义它为unique?只需从name列中删除unique约束..谢谢你的回复,我的意思是,如果列名称和列日期相同,我将无法插入记录。如果列名称和列日期不同,我将能够插入记录。谢谢,我现在将尝试此操作,我正在搜索一个小时,但没有运气,如果此操作成功,我将在此处发布不幸的是,我无法添加主键=(我希望有一个解决办法我创建了一个新表,因为sqlite没有alter函数,所以基本上我创建了一个新表,但是当我使用ADD PRIMARY KEY(col1,col2)时出现了一个错误,它说不能添加一个或多个PRIMARY KEY检查这个结果,当_id是主键时它不起作用。所以我创建了表mytable(_idinteger,name TEXT,date TEXT,PRIMARY KEY(name,date))这样可以吗?如果_id不是主键也没关系?无论如何,谢谢你抽出时间,对不起,由于声誉不高,我无法投票。。