Поддерживает ли SQLite ссылочную целостность?
У меня есть веб-сервер Django, настроенный на использование SQLite.
В отношениях "многие ко многим" (с дополнительными полями) Django заставляет меня использовать модель отношений для установления отношений между двумя объектами. Но я могу создать отношения между объектами, которых еще нет в связанных таблицах.
Например:
I have table1 and table2 which are related via table12.
In table1, there is just one object called A.
In table2, there is just one object called X.
I can create a record in table12 that depict a relationship between A & Y; even though Y doesn't exist in table2.
Моя модель отношений помечала внешние ключи соответствующим образом.
1 ответ
Решение
SQLite не применяет ограничения внешнего ключа по умолчанию (в основном для обеспечения обратной совместимости).
Чтобы включить его, вы должны выполнить
PRAGMA foreign_keys = 1
после подключения к базе данных.
Смотрите руководство о PRAGMA foreign_keys
Больше подробностей.