Поддерживает ли 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 Больше подробностей.

Другие вопросы по тегам