Home > Mobile >  Update android room parent database together with children
Update android room parent database together with children

Time:08-31

In my android application, I have a parent and child database in a one-many relation, using a foreignkey to bind a column of the child database with an element of the parent.

The parent has columns

period [acts as ID] integer
classical 1
romantic 2

and the child has

parentName firstname lastname
romantic Gustav Mahler
romantic Richard Wagner
classical Wolfgang Amadeus Mozart

I want the user to be able to update the parent name. When the child is empty I can do this by having a method in the parent dao:

    @Query("UPDATE ParentTable SET period = :newPeriod WHERE period = :oldPeriod")
    void updateListName(String oldPeriod,String newPeriod);

But as soon as the child database becomes nonempty, this doesn't seem to work! How do I do this! Clearly, I also need all the child entities to be able to update.

Many thanks.

CodePudding user response:

Within the @ForeignKey annotation, you can use onUpdate = ForeignKey.CASCADE,

  • you may also want to use onDelete = ForeignKey.CASCADE

For more details you can refer to https://www.sqlite.org/foreignkeys.html#fk_actions

  • Related