Пример базы данных SQLite:
** Я не создаю базу данных, это база данных Android Bookmarks, к которой я обращаюсь с помощью контент-провайдеров.
** Из того, что я понимаю после некоторых поисков, SQLite не поддерживает ограничения внешнего ключа, но возможны триггеры - http://www.sqlite.org/cvstrac/wiki?p=ForeignKeyTriggers
FOLDER столбец -> 0 = не папка (false), 1 = папка (true)
PARENT столбец -> содержит ID своей папки
ID TITLE FOLDER PARENT
1 folder1 1 0
2 item1 0 1
3 item2 0 1
4 folder2 1 1
5 item1 0 4
6 item2 0 4
7 folder3 1 4
8 item1 0 7
9 item2 0 7
... и т. Д.
В моем приложении для Android я пытаюсь рекурсивно удалить элементы из базы данных SQLite.
У меня есть идентификатор первой папки, и я хочу выполнить цикл, чтобы найти все ее внутренние элементы (больше папок и элементов).
Например, у меня есть ID = 1, поэтому я могу легко удалить идентификаторы 2 и 3, запросив запрос всех элементов, у которых родительский элемент - ID = 1, получить идентификаторы элементов и затем удалить.
Проблема в том, что я не могу понять, как удалить ID = 4 и его внутренние элементы (item1, item2 и folder3), а затем внутренние объекты folder3.
Хотелось бы помочь с этим! пытался часами: \
Спасибо!