android - 唯一约束失败:query_table.ID(代码 1555 SQLITE_CONSTRAINT_PRIMARYKEY[1555]
问题描述
我的项目中有以下实体 -
@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;
如果你这样走,有什么改变吗?如果它为空,它怎么可能是主键?
推荐阅读
- qooxdoo - Qooxdoo 框架的 BooleanRenderer
- laravel - 如何在 laravel vue spa 中使用 cartalyst sentinel 权限检查?
- apache-kafka - 识别 librdkafka 中的组长
- ios - audioplayer 播放不一致/奇怪的音频(url mp3 链接)导致颤动
- c# - 如何在 Linq c# 中从日期时间中删除日期
- python - Scipy / Sympy 优化多元系统
- python - 未显示从 Bot 发送到 Teams 的消息的超链接预览
- angular - 使用 Angular Material 处理服务器端错误
- angular - 保持服务返回Angular 8
- sql - 如何在 Oracle 中将一个用户复制或克隆到另一个用户