SQLite为两个或多个字段插入带有_id值的记录

时间:2013-01-11 15:13:22

标签: android sqlite insert

我有一个案例,我想在SQLite中使用database.insert(table,null,values)插入记录。

TABLE t2 (_id, field1, field2)
..

val.setVal1(null);
val.setVal2(val2);
..

if(val.getVal1==null){
  values.put(field1, _id);
}else{
    values.put(field1, var.val1);
}
values.put(field2, var.val2);

database.insert("t2", null, values);

可以做这样的“values.put(field1,_id);”? _id是在database.insert()生成的。

注意:我正在寻找一个插入调用的解决方案。使用(field1 = _id)插入和更新行很容易。

1 个答案:

答案 0 :(得分:1)

我想我现在看到了。您询问是否可以在特定的SQLite行_id字段中输入值如果val对象中可用。否则,您希望数据库在插入时自动为该列创建唯一ID,就像通常所做的那样。这是对的吗?

为此,我会认真考虑这个目的。您永远不应该为_id列指定值,因为它必须是唯一的,否则您将获得异常抛出。此外,它的唯一目的是成为系统的唯一标识符,因此您个人知道这个值应该对您没用。

如果您仍然需要此功能,我建议您在表格中添加其他字段(非常类似_id列,但),您可以使用随机生成的数字填写或val.getVal1值。