Реализовать / использовать внешние ключи в SQLite? - PullRequest
1 голос
/ 21 июля 2010

Как я могу реализовать внешний ключ в SQLite?Я думал что-то вроде этого:

CREATE TABLE job (_id INTEGER PRIMARY KEY AUTOINCREMENT, employer_id INTEGER, ...);
CREATE TABLE employer(_id INTEGER, employer_name TEXT NOT NULL, ...);

Где employer_id - это _id из таблицы employer.Будет ли это работать?Есть ли другой быстрый, возможно, менее подверженный ошибкам способ?Может быть с триггерами?

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

См. SQLite (3.6.19) Поддержка внешнего ключа

(Ранние версии SQLite не поддерживают принудительные отношения FK.)

2 голосов
/ 21 июля 2010

Может быть, я не понимаю вопроса, но если вам нужно ограничение, просто сделайте это:

ALTER TABLE Job
  ADD FOREIGN KEY (employer_id)
    REFERENCES Employer(_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...