- Код: Выделить всё
CREATE TABLE "t$1" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
"pid" INTEGER,
"name" TEXT NOT NULL,
FOREIGN KEY("pid") REFERENCES "t$1"("id") ON UPDATE CASCADE ON DELETE CASCADE
)
Средствами Lazarus (2.0.8 win64) операции по добавление и изменению записей выполняется без проблем.
НО!
При попытке удалить запись
- Код: Выделить всё
delete from t$1 where id=2;
происходт следующее:
-если с этой записью не связаны другие записи в этой таблице, то удаление происходит без проблем
-если есть связанные записи, то запись с номером 2 удаляется, а связанные с ней записи остаются
Если выполнить запрос в стороннем приложении, например в DB Browser for SQLite, то связанные записи удаляются нормально.
Может кто-то сталкивался с подобной проблемой?
Подскажите, как победить?
p.s. При работе из lazarus используется библиотека sqlite3 v. sqlite-dll-win64-x64-3310100