Android 如何在房间内自动增加主键?
上面的类是我的实体类。我希望主键自动递增。 但当我创建类的对象时,如:Android 如何在房间内自动增加主键?,android,database,class,kotlin,android-room,Android,Database,Class,Kotlin,Android Room,上面的类是我的实体类。我希望主键自动递增。 但当我创建类的对象时,如: data class FavouriteEntity( @PrimaryKey(autoGenerate = true) val id : Int?, @ColumnInfo(name = "user_id") var userId : String, @ColumnInfo(name = "fav_restaurant_id") var favouri
data class FavouriteEntity(
@PrimaryKey(autoGenerate = true)
val id : Int?,
@ColumnInfo(name = "user_id") var userId : String,
@ColumnInfo(name = "fav_restaurant_id") var favouriteRestaurantId : String,
@ColumnInfo(name = "fav_restaurant_name") var favouriteRestaurantName : String,
@ColumnInfo(name = "fav_restaurant_img") var favouriteRestaurantImage : String,
@ColumnInfo(name = "fav_restaurant_price") var favouriteRestaurantPrice : String,
@ColumnInfo(name = "fav_restaurant_rating") var favouriteRestaurantRating : String
)
我需要传递一个整数作为id。但我希望id自动递增。请提供帮助。由于id将自动生成,您可以将代码更改为:
var favouriteEntity = FavouriteEntity(
userId,
restaurant.restaurantId,
restaurant.restaurantName,
restaurant.restaurantImageUrl,
restaurant.restaurantCostForOne,
restaurant.restaurantRating
)
这样,您可以跳过设置值:
@PrimaryKey(autoGenerate = true)
val id : Int = 0
你可以简单地:
数据类收藏夹实体(
@PrimaryKey(自动生成=真)
val id:Int=0
)
或
数据类收藏夹实体(
@PrimaryKey(自动生成=真)
val id:Int?=null
)
id字段将自动生成/自动增加id
字段
然后将其与命名参数一起使用:例如
数据类收藏夹实体(
val id:Int=0,
val名称:String
)
主要内容(){
收藏夹实体(name=“name”)
}
创建此类对象时,应为id指定什么值。?如果留空,则显示错误。无值。只需使用命名参数。当我创建此类的对象时,应该为id指定什么值。?如果我将其留空,它将显示一个错误。您只需跳过id值。我对我的答案进行了编辑,以便更清楚。
var favouriteEntity = FavouriteEntity(
restaurant.restaurantId,
restaurant.restaurantName,
restaurant.restaurantImageUrl,
restaurant.restaurantCostForOne,
restaurant.restaurantRating
)