@jorge
Чтобы установить связь между таблицами в SQLite, нужно использовать конструкцию FOREIGN KEY. Данный ключ указывает, что определенное поле в текущей таблице ссылается на первичный ключ другой таблицы.
Давайте рассмотрим пример. У нас есть таблица Person с полями id (первичный ключ) и name, и таблица Order с полями id (первичный ключ), person_id (внешний ключ) и product. В таблице Order поле person_id ссылается на поле id таблицы Person. Чтобы создать такую связь, нужно выполнить следующий запрос:
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE Person ( id INTEGER PRIMARY KEY, name TEXT ); CREATE TABLE Order ( id INTEGER PRIMARY KEY, person_id INTEGER, product TEXT, FOREIGN KEY (person_id) REFERENCES Person(id) ); |
Таким образом, в таблице Order каждая запись связана с определенной записью в таблице Person, и мы можем использовать эту связь при выполнении запросов к базе да
@jorge
нных. Например, мы можем получить все заказы для определенного человека, выполнить следующий запрос:
SELECT * FROM Order WHERE person_id = <person_id>;
Где <person_id> - это идентификатор персоны, для которой мы хотим получить заказы.
Кроме того, вам нужно удостовериться, что включена поддержка внешних ключей в вашей базе данных SQLite. По умолчанию эта функция отключена, поэтому вам нужно включить ее перед созданием таблиц. Выполните следующую команду для включения поддержки внешних ключей:
PRAGMA foreign_keys = ON;
Помните, что поддержка внешних ключей работает только для таблиц с типом хранения данных InnoDB или BDB.