Я очень часто пробовал и просматривал другие посты на форуме, но они мне не помогли.
Это моя проблема: я создаю таблицы следующим образом:
CREATE TABLE IF NOT EXISTS Parent
(Id INTEGER PRIMARY KEY,
Name STRING);
CREATE TABLE IF NOT EXISTS Child
(Id INTEGER,
Name STRING,
ParentId INTEGER,
PRIMARY KEY (Id, ParentId)
FOREIGN KEY (ParentId) REFERENCES Parent (ParentId) ON DELETE CASCADE);
После этого я вставляю это:
INSERT INTO Parent (Id, Name) VALUES (1, 'Michael');
INSERT INTO Child (Id, Name, ParentId) VALUES (1, 'Paul', 1);
Хорошо! Теперь в каждой таблице есть строка с родителем и ребенком. Теперь я хочу удалить родителя:
DELETE FROM Parent WHERE Id = 1;
Что происходит? Строка в таблице 'Parent' больше не существует, но строка в таблице 'Child' все еще там, даже если я сказал: 'ON DELETE CASCADE'.