Foreign key constraints in Android using SQLite? on Delete cascade
Ограничения внешнего ключа в Android с использованием SQLite? при каскадном удалении
У меня есть две таблицы: дорожки и путевые точки, у дорожки может быть много путевых точек, но путевая точка назначается только 1 дорожке.
В таблице way points у меня есть столбец с именем "trackidfk", который вставляет track_ID после создания трека, однако я не устанавливал ограничения внешнего ключа для этого столбца.
Когда я удаляю дорожку, я хочу удалить назначенные путевые точки, возможно ли это?. Я читал об использовании триггеров, но я не думаю, что они поддерживаются в Android.
Ограничения внешнего ключа при каскадном удалении поддерживаются, но их необходимо включить. Я только что добавил следующее в свой SQLOpenHelper, который, кажется, делает свое дело.
Как говорится в сообщении от е. Шишкина, начиная с API 16, вы должны включить ограничения внешнего ключа в SqLiteOpenHelper.onConfigure(SqLiteDatabase) методе, используя db.setForeignKeyConstraintsEnabled(boolean)