Sqlite каскадное удаление данных

406
21 января 2017, 10:41

Здравствуйте.Необходимо при удалении данных из таблицы test что бы удалялись данные и из таблиц test2 и test3.Например при удалении записей из таблицы test1 с _id=1, что бы и из таблиц test2 и test3 удалялись данные с baseid=1.Создаю таблицы с внешними ключами

CREATE TABLE IF NOT EXISTS test (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,baseid INTEGER);

CREATE TABLE IF NOT EXISTS test2 (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,baseid INTEGER,FOREIGN KEY (baseid) REFERENCES test(_id) ON DELETE CASCADE);

CREATE TABLE IF NOT EXISTS test3 (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,baseid INTEGER,FOREIGN KEY (baseid) REFERENCES test(_id) ON DELETE CASCADE);

Удаляю все данные из таблицы test данные также удаляются и из test2,но из test3 нет.Причем так происходит в андроид,а на компе sqlite3 удаляет все как надо.Подскажите как это решить.

Answer 1

Может это поможет

PRAGMA foreign_keys = ON

Foreign key не поддерживается по умолчанию в SQLite.

READ ALSO
Telegram bot java [требует правки]

Telegram bot java [требует правки]

I downloaded lib https://githubcom/rubenlagus/TelegramBots/releases/tag/2

575
Реализация Singleton

Реализация Singleton

Добрый день

342
Аналог Symfony2 для Java, но для win приложений?

Аналог Symfony2 для Java, но для win приложений?

Посоветуйте Java фреймворк для оконных приложений на базе JavaFxНужен не слишком низкоуровневый, типа JavaFx, и не слишком magic, где все генерируется...

297
Интересен пример кода,где есть класс отвечающий за пользовательское событие

Интересен пример кода,где есть класс отвечающий за пользовательское событие

Те много где видел,что в Java обычно достаточно быть "слушателем" события,а не его "источником"

306