Как установить связь между таблицами в sqlite?

Пользователь

от jorge , в категории: SQL , 9 месяцев назад

Как установить связь между таблицами в sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от vladimir , 9 месяцев назад

@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, и мы можем использовать эту связь при выполнении запросов к базе да