The documentation says:
Configuring "NO ACTION" means just that: when a parent key is modified or deleted from the database, no special action is taken.
My first interpretation of this sentence was "if parent key is modified or deleted, then this modification is done and no other action is taken" thus not preserving database integrity, which lead to some confusion. But my testing showed, that if I try to delete a parent key (if a child key still exists), I do get an exception ("SQLiteConstraintException: error code 19: constraint failed" - I am testing under android 4.0.3 / SQLite 3.7.x), so "NO ACTION" seems to behave as expected.
Could someone please explain and perhaps give an example, what exactly "NO ACTION" does and how it is different from "RESTRICT".
The introducing paragraph says:
This is the normal action.
Furthermore:
If you're testing with a single-statement transaction that changes just one record, you will not see any difference between
NO ACTION
andRESTRICT
.