Есть ли возможность сделать текстовое поле в SQLite указывать на другое поле? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть БД, к которой я обращаюсь через SQLite. У меня есть текстовое поле с URL-адресом медиа-файла внутри этого поля (названного здесь UrlField).

Есть ли возможность (после загрузки файлов и вставки их в виде BLOB-объектов в другую таблицу - таблицу BLOB-объектов с полем BlobValue), чтобы значение UrlField указывало на значение BlobField и осуществлялось обращение к BLOB-объектам через UrlField?

Спасибо, JRoma

1 Ответ

0 голосов
/ 03 марта 2020

Вы говорите о внешних ключах и соединениях. Пример:

CREATE TABLE blob_table(id INTEGER PRIMARY KEY, image_data BLOB);
CREATE TABLE url_table(id INTEGER PRIMARY KEY, url TEXT,
                       blob_id INTEGER REFERENCES blob_table(id));
INSERT INTO blob_table VALUES (1, 'I''m an image!');
INSERT INTO url_table(url, blob_id) VALUES ('http//x.com/bar.png', 1);

SELECT image_data
FROM url_table AS u
JOIN blob_table AS b ON u.blob_id = b.id
WHERE u.url = 'http://x.com/bar.png';

Идея состоит в том, что таблица B хранит идентификатор строки в таблице A, а затем две таблицы объединяются для этого общего значения, создавая новую псевдотаблица с обоими значениями строк. в каждом из своих рядов.

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