Значение по умолчанию или NULL в объекте базы данных Room - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь понять библиотеку базы данных 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 не имеют смысла и цели.

Заранее спасибо!

...