我有一个案例,我想在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)插入和更新行很容易。
答案 0 :(得分:1)
我想我现在看到了。您询问是否可以在特定的SQLite行_id
字段中输入值如果在val
对象中可用。否则,您希望数据库在插入时自动为该列创建唯一ID,就像通常所做的那样。这是对的吗?
为此,我会认真考虑这个目的。您永远不应该为_id
列指定值,因为它必须是唯一的,否则您将获得异常抛出。此外,它的唯一目的是成为系统的唯一标识符,因此您个人知道这个值应该对您没用。
如果您仍然需要此功能,我建议您在表格中添加其他字段(非常类似_id
列,但不),您可以使用随机生成的数字填写或val.getVal1
值。