4

在我看来, SugarORM是最容易使用的 SQLite 库,并且被证明对像我这样的初级 Android 开发人员非常有帮助。SugarORM 自动创建表并为每个扩展 SugarRecord 的 java 类添加一个 AUTO_INCREMENT id 列。

插入新行可以像someJavaObject.save(). 但是,一旦插入该行,我怎样才能获得插入的 id?$id = mysql_insert_id();在 PHP 中,我可以在插入后执行类似操作。

我知道我可以获取表中最后一行的 id。但是新行的插入可能是非常不可预测的。假设我有一个活动和一个服务同时插入一个新行,我想避免得到错误的 ID。

提前感谢您的帮助。

4

3 回答 3

5

save()方法必须返回它。像:

 long id = someJavaObject.save() 
于 2015-04-08T13:29:51.490 回答
3

或尝试:

someJavaObject.save()
long id = someJavaObject.getId();
于 2015-07-16T05:42:40.813 回答
1

正如 Stan 所提到的, save 实际上将 id 作为 long 值返回。我今天用这个。如果您想将其用于新创建的行,您可以执行以下操作: Region reg2 = new Region("Graz", 20, 20); reg1.setId(reg1.save());

于 2015-04-08T12:46:37.690 回答