如何在 Ormlite 中更新表 sqlite_sequence?我只需要更新序列。如何通过 ORMLite 获取该表?
编辑
我找不到 ORLite 工具来执行此操作,因此我使用简单的 sqlite 查询。在我的类扩展 OrmLiteSqliteOpenHelper 中,我使用 SQLiteDatabase 进行更新。
EDIT2 ;)
在我的项目中,我坚持课程课程和课程周定义。
class Lesson{
@DatabaseField(generatedId=true)
private int id;
...
}
class WeekDefinitions{
@DatabaseField(generatedId=true)
private int id;
@DatabaseField(foreign=true, columnName="lesson_id")
private Lesson lesson;
...
}
现在,当我添加新课程时,id 是递增的。例如
id = 1 Math
id = 2 English
id = 3 Medicine
在 weekDefinition 中:
id = 1 lesson_id = 1 nr = 20
id = 2 lesson_id = 1 nr = 22
id = 3 lesson_id = 2 nr = 32
...
id = 12 lesson_id = 3 nr = 3
SQLite 将此行添加到 sqlite_sequence (使用自动增量时)
rowId = 1 name = lesson seq = 3
rowId = 2 name = weekDefinition seq = 12
现在,我从表 Lesson 和 WeekDefinition 中删除所有行。之后 Lesson 和 WeekDef 都是空的,但是 sqlite_sequence 还是一样的。这是问题,因为表课程中的 id 从值 4 开始(课程的 sqlite_sequence 的 seq 并添加 1):
id = 4 Math
id = 5 English
id = 6 Medicine
和周定义
id = 13 lesson_id = 1 nr = 20
id = 14 lesson_id = 1 nr = 22
id = 15 lesson_id = 2 nr = 32
对于课程 id = 4 ,数学我应该得到 weekDefinitios,但在 weekDefinitions 中,课程 ID 的值只有 1 到 3 这就是我的问题。我需要“重置” sqlite_sequence 表(或者有更好的解决方案?)