Java android 房间二外键
Java android room two foreign key
我有一个 table 有两个外键分成两个不同的 tables
这是我的 table :
@Entity(
tableName = Constants.TABLE_NAME_PICTURE,
foreignKeys = {
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)},
indices = {@Index("id"), @Index(value = {"bin_id","order_id"})})
public class PICTURE {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
public long id;
@Attribute(name = "name", required = false)
@ColumnInfo(name = "name")
public String name;
@ColumnInfo(name = "bin_id")
public int binId;
@ColumnInfo(name = "order_id")
public int orderId;
当我将图片插入数据库时,我得到:
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
我认为你必须更改此行
foreignKeys = {
@ForeignKey(
entity = BIN.class,
parentColumns = {"id"},
childColumns = {"bin_id"}
),
@ForeignKey(
entity = ORDER.class,
parentColumns = {"id"}
childColumns = {"order_id"}
)},
您似乎没有添加任何第二行 table,如 BIN.class 和 Order.class。我从
那里得到了答案
试着这样做
foreignKeys = [
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)],
其实在kotlin中我是这样写这一行的
foreignKeys = arrayOf(
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)]),
可能有帮助
我有一个 table 有两个外键分成两个不同的 tables
这是我的 table :
@Entity(
tableName = Constants.TABLE_NAME_PICTURE,
foreignKeys = {
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)},
indices = {@Index("id"), @Index(value = {"bin_id","order_id"})})
public class PICTURE {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
public long id;
@Attribute(name = "name", required = false)
@ColumnInfo(name = "name")
public String name;
@ColumnInfo(name = "bin_id")
public int binId;
@ColumnInfo(name = "order_id")
public int orderId;
当我将图片插入数据库时,我得到:
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
我认为你必须更改此行
foreignKeys = {
@ForeignKey(
entity = BIN.class,
parentColumns = {"id"},
childColumns = {"bin_id"}
),
@ForeignKey(
entity = ORDER.class,
parentColumns = {"id"}
childColumns = {"order_id"}
)},
您似乎没有添加任何第二行 table,如 BIN.class 和 Order.class。我从
试着这样做
foreignKeys = [
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)],
其实在kotlin中我是这样写这一行的
foreignKeys = arrayOf(
@ForeignKey(
entity = BIN.class,
parentColumns = "id",
childColumns = "bin_id"
),
@ForeignKey(
entity = ORDER.class,
parentColumns = "id",
childColumns = "order_id"
)]),
可能有帮助