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.
Within the
@ForeignKeyannotation, you can useonUpdate = ForeignKey.CASCADE,onDelete = ForeignKey.CASCADEFor more details you can refer to https://www.sqlite.org/foreignkeys.html#fk_actions