在我的项目中,我使用了 ORMLite。现在我添加了一个主键
tje accountId
字段,并且还更改了数据库版本。请帮助我,我不知道如何在 onUpgrade(...)
中编写查询。供引用我
在下面附加了 Account
类。
public class Account implements Serializable {
@DatabaseField
private String cdate;
@DatabaseField(id=true)
private Integer accountId;
@DatabaseField
private String Type;
@DatabaseField
private String Desc;
@DatabaseField
private String UpdatedDate;
}
最佳答案
I don't know how to write query in onUpgrade(...).
诀窍是弄清楚您需要执行哪些 Sqlite 命令来添加主键。您可以通过查看 Sqlite docs for the primary key 来解决这个问题.在那里你可以看到你的 accountId
字段应该被定义为:
accountId INTEGER PRIMARY KEY ASC
那么你的 onUpdate(...)
方法应该是这样的:
if (version of db is the old-version) {
dao.executeRaw("ALTER TABLE account ADD COLUMN accountId INTEGER PRIMARY KEY ASC;");
}
您应该根据旧版本的数据库有条件地执行此操作。
关于java - 如何在 ORMLITE android On Upgrade 方法中添加主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666468/