@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.