Room数据库实体中的默认值或NULL

时间:2018-09-18 03:42:38

标签: android-room setdefault

我正在尝试了解Room数据库库。我对通过 @ForeignKey约束链接两个表的情况感到震惊。我需要的是,当删除父行时,子表中的所有子列都应设置为NULL或某个默认值。但是当我尝试使用

onDelete=SET_NULL or SET_DEFAULT with @ForeignKey

我收到以下错误:

  

android.database.sqlite.SQLiteConstraintException:NOT NULL约束   失败:Log.tagId

从错误中我可以看到在表定义期间子列已被设置为 NOT NULL ,有人可以说出如何将其更改为 NULLABLE 。为我们创建表格?另外,可以在列上设置标准默认值也可以。如果是这样,如何设置列的默认值?我认为应该以其他方式使用常量 SET_NULL SET_DEFAULT 没有意义和目的。

谢谢!

0 个答案:

没有答案