Moh*_*adL 9 sqlite android android-room
我遇到了 Room 数据库的问题,当尝试使用我在 Dao 类中声明的插入方法将数据写入数据库时,出现此错误:
唯一约束失败
有什么想法吗?
道类
@Dao
public interface TaskDao {
@Query("SELECT * FROM task")
List<Task> getall();
@Insert
void insert(Task task);
@Delete
void delete(Task task);
}
Run Code Online (Sandbox Code Playgroud)
应用数据库类
@Database(entities = {Task.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract TaskDao mTaskDao();
}
Run Code Online (Sandbox Code Playgroud)
模型类
@Entity
public class Task {
@PrimaryKey
private int uid;
@ColumnInfo(name = "task_name")
private String mName;
@ColumnInfo(name = "task_box")
private Integer mBox;
@ColumnInfo(name = "is_done")
private Integer mIsDone;
}
Run Code Online (Sandbox Code Playgroud)
我想通了,这个错误是因为数据中没有唯一值(在主键中)所以我让它自动生成,
模型类
@Entity
public class Task {
@PrimaryKey(autoGenerate = true)
private int uid;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6800 次 |
| 最近记录: |