相关疑难解决方法(0)

如何将主键作为Room Persistence lib的自动增量

我正在创建一个Entity(Room Persistence lib)类Food,我想把它foodId作为自动增量.

@Entity
class Food(var foodName: String, var foodDesc: String, var protein: Double, var carbs: Double, var fat: Double)
{
    @PrimaryKey
    var foodId: Int = 0
    var calories: Double = 0.toDouble()
}
Run Code Online (Sandbox Code Playgroud)

如何设置foodId自动增量字段?

android kotlin android-room

151
推荐指数
8
解决办法
7万
查看次数

如何在Android中使用MVVM时在Room中制作复合键

我刚刚在房间里找到@PrimaryKey注释.所以,如果我想制作复合键,那么如何才能在MVVM中实现呢?

android mvvm android-room

29
推荐指数
3
解决办法
1万
查看次数

将房间数据库中的唯一约束添加到多列

我在房间里有一个实体

@Entity(foreignKeys ={
        @ForeignKey(entity = Label.class, parentColumns = "_id", childColumns = "labelId", onDelete = CASCADE),
        @ForeignKey(entity = Task.class, parentColumns = "_id", childColumns = "taskId", onDelete = CASCADE)
})
public class LabelOfTask extends Data{
    @ColumnInfo(name = "labelId")
    private Integer labelId;
    @ColumnInfo(name = "taskId")
    private Integer taskId;
}
Run Code Online (Sandbox Code Playgroud)

这个实体的sql语法如下

CREATE TABLE `LabelOfTask` (
    `_id` INTEGER PRIMARY KEY AUTOINCREMENT,
     `labelId` INTEGER,
     `taskId` INTEGER,
     FOREIGN KEY(`labelId`) REFERENCES `Label`(`_id`) ON UPDATE NO ACTION ON DELETE CASCADE ,
     FOREIGN KEY(`taskId`) REFERENCES `Task`(`_id`) ON UPDATE NO ACTION …
Run Code Online (Sandbox Code Playgroud)

sqlite android database-design android-room android-architecture-components

19
推荐指数
3
解决办法
1万
查看次数

我可以在房间中将非主键字段作为自动生成的值吗

我有带有复合主键的表。我可以将其中一个文件设为自动生成吗?

Secenario :我有一个teacher table包含字段 techerId、姓名、性别、角色、部门、等级的字段,它具有由角色、部门和等级组成的复合主 ID。如何使teacherid自动生成?

sqlite android android-database android-room

5
推荐指数
1
解决办法
1923
查看次数

复合主键上的自动增量 - Sqlite3 + Python

我有这样的代码

c.execute('CREATE TABLE IF NOT EXISTS base (ID INTEGER NOT NULL, col2 TEXT NOT NULL, col3 INTEGER, PRIMARY KEY(ID, col2))')
Run Code Online (Sandbox Code Playgroud)

这段代码给了我一个sqlite3.IntegrityError异常,即使我非常确定我是第一次写这个记录.

所以,我试过了

c.execute('CREATE TABLE IF NOT EXISTS base (ID INTEGER, col2 TEXT, col3 INTEGER, PRIMARY KEY(ID, col2))')
Run Code Online (Sandbox Code Playgroud)

这会在表BUT中精细插入行,ID列根本不会自动递增.

我能做什么?任何的想法?

python sqlite

2
推荐指数
1
解决办法
3517
查看次数