sqlite каскадное удаление - PullRequest
4 голосов
/ 24 июня 2011

Родительская таблица

CREATE TABLE BHEAD (
ID INTEGER primary key asc, 
DESCR TEXT, 
LINECTR INT, 
UNITCTR INT)

дочерний стол

CREATE TABLE BDET (
ID INTEGER primary key asc,
BID INTEGER,
BCODE TEXT,
QTY INTEGER,
FOREIGN KEY (BID) REFERENCES BHEAD(ID) ON DELETE CASCADE
)

Я также выполняю sql PRAGMA foreign_keys = ON; однако это не работает; когда я удаляю одну строку из BHEAD, связанные с ней строки в BDET не исчезают ...

Почему это было?

1 Ответ

1 голос
/ 21 сентября 2011

Какую версию SQLite вы используете?

Смотрите: Иностранные ключи .

Чтобы использовать ограничения внешнего ключа в SQLite, библиотекадолжен быть скомпилирован без определения SQLITE_OMIT_FOREIGN_KEY или SQLITE_OMIT_TRIGGER.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...