The documentation says:
Setting "NO ACTION" means only this: when the parent key is changed or deleted from the database, no special actions are taken.
My first interpretation of this sentence was "if the parent key is changed or deleted, then this modification is completed and no other actions are taken", thus, without preserving the integrity of the database, which leads to some confusion . But my testing showed that if I try to delete the parent key (if the child key still exists), I get an exception ("SQLiteConstraintException: error code 19: constraint failed" - I'm testing in android 4.0.3 / SQLite 3.7.x) therefore, “NO ACTION” seems to behave as expected.
Can someone explain and perhaps give an example of what exactly “NO ACTION” does and how it differs from “RESTRICT”.
source share