我的项目中有以下实体 -
@Entity(tableName = "query_table")
public class QueryModel {
@PrimaryKey
private int ID;
private int productID;
private String vendorName;
private String productName;
private String lateTimeUpdated;
public QueryModel(String vendorName, String productName, String lateTimeUpdated, int productID) {
this.vendorName = vendorName;
this.productName = productName;
this.lateTimeUpdated = lateTimeUpdated;
this.productID = productID;
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public int getProductID() {
return productID;
}
public void setProductID(int productID) {
this.productID = productID;
}
public String getVendorName() {
return vendorName;
}
public void setVendorName(String vendorName) {
this.vendorName = vendorName;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getLateTimeUpdated() {
return lateTimeUpdated;
}
public void setLateTimeUpdated(String lateTimeUpdated) {
this.lateTimeUpdated = lateTimeUpdated;
}
}
由于某些原因,我在开始填充本地数据库时出现以下错误 -
UNIQUE constraint failed: query_table.ID (code 1555 SQLITE_CONSTRAINT_PRIMARYKEY[1555]
我知道这与我一次又一次地获得相同的值并覆盖它使其崩溃有关,但是我该如何解决它?
在构造函数上,您不会传递id
字段,并且如我所见,您通常不会初始化它。
@PrimaryKey(autoGenerate = true)
private int ID;
如果你这样走,有什么变化吗?如果它为空,它怎么可能是主键?