SQLite: Библиотека, поддерживающая его, реализует это? - PullRequest
1 голос
/ 24 августа 2010

Я начал использовать SQLite для своего проекта и обнаружил, что есть много библиотек, поддерживающих его, таких как Qt, pysqlite, Poco C ++ и т. Д. Я также обнаружил, что предыдущие версии SQLite не поддерживали внешние ключи.

Какзнают ли драйверы, какой исполняемый файл sqlite использовать?И как я узнаю, что они поддерживают какую версию sqlite они поддерживают?

Еще один вопрос: Как включить внешние ключи в sqlite по умолчанию?

Ответы [ 3 ]

1 голос
/ 26 августа 2010

Ответ: это зависит.

Некоторые приложения будут использовать статически связанный sqlite, другие будут динамически связываться с .dll или .so (в зависимости от вашей ОС).А из тех, которые ссылаются на динамическую библиотеку, зависит от того, использует ли она общесистемную версию или версию папки приложения,

Я (к счастью) не видел ни одного приложения, которое проходит через sqlite.exe.

0 голосов
/ 24 августа 2010

SQLite управляет внешними ключами, а не специальной библиотекой.Каждая библиотека (если она наполовину приличная) будет иметь свою документацию, в которой будет указан список поддерживаемых версий SQLite.

Чтобы определить, включены ли внешние ключи в SQLite:

PRAGMA foreign_keys;

Чтобы включить внешние ключи:

PRAGMA foreign_keys = ON;

EDIT: это необходимо включить не только перед созданием базы данных, но и при каждом подключении SQLite для активации внешних ключей и их магии.(Это потому, что внешние ключи не являются устаревшими, но, как ожидается, будут изменены).

0 голосов
/ 24 августа 2010

Вам нужно ввести команду прагмы , чтобы включить ее

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