SQLite外键约束失败(代码787)-Android房间
我在安卓房间的外键有问题 我写了两个实体和道。客户实体具有AddressID参数,它是对外键的引用SQLite外键约束失败(代码787)-Android房间,android,sql,android-room,Android,Sql,Android Room,我在安卓房间的外键有问题 我写了两个实体和道。客户实体具有AddressID参数,它是对外键的引用 @Entity( tableName = "customers", foreignKeys = [ ForeignKey( entity = AddressDbModel::class, parentColumns = ["id"], childColumns = ["address_id"]
@Entity(
tableName = "customers", foreignKeys = [
ForeignKey(
entity = AddressDbModel::class,
parentColumns = ["id"],
childColumns = ["address_id"]
)
],
indices = [
Index(value = ["address_id"])
]
)
data class CustomerDbModel(
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
val customerId: Long? = null,
@ColumnInfo(name = "name")
val name: String,
@ColumnInfo(name = "address_id")
val addressId: Long? = null
)
如何解决此问题?您可以使用:-
ForeignKey(
entity = AddressDbModel::class,
parentColumns = ["id"],
childColumns = ["address_id"],
onDelete = ForeignKey.CASCADE //<<<<<<<<<< ADDED
)
ForeignKey(
实体=地址模型::类,
parentColumns=[“id”],
childColumns=[“地址\标识”],
onDelete=ForeignKey.CASCADE//
@Dao
interface AddressDao : BaseDao<AddressDbModel> {
@Query("DELETE FROM addresses WHERE id=:address")
fun deleteById(address: Long)
}
FOREIGN KEY constraint failed (code 787 SQLITE_CONSTRAINT_FOREIGNKEY[787])
ForeignKey(
entity = AddressDbModel::class,
parentColumns = ["id"],
childColumns = ["address_id"],
onDelete = ForeignKey.CASCADE //<<<<<<<<<< ADDED
)