【发布时间】:2014-10-28 19:52:46
【问题描述】:
使用 GreenDao,我设法将我的数据库置于一个没有密钥的实体的状态。
我的问题是如何清除/删除此实体?我没有在 AbstractDao 中看到可以让我删除另一个列名的函数。
【问题讨论】:
-
我怀疑您是否能够实际插入具有空主键的实体。您如何验证您插入的实体没有主键?请粘贴一些关于正在执行的代码和抛出的错误/异常的代码片段。
-
您可以插入带有空主键的实体,但插入后会立即附加主键。要删除实体,您可以使用 DeleteQuery。
-
@yigit 感谢您澄清这一点。直接来自sqlite.org、
If an INSERT statement attempts to insert a NULL value into a rowid or integer primary key column, the system chooses an integer value to use as the rowid automatically. -
我只是在做一个标准的 GreenDao 插入,不多也不少。我是通过在带有大型列表视图的糟糕的旧低端 android 设备上进行测试时遇到这个错误的,并且插入和删除速度非常快。我使用事务插入/删除但仍然到达那里。我无法在更现代的 android 设备上重现错误,所以没有进一步调查 b/c 它是如此孤立,不幸的是还有太多其他紧迫的事情
标签: greendao