как создать триггеры в sqlite3? - PullRequest
0 голосов
/ 19 февраля 2010

Я новичок в этой теме. я хочу что-то вроде этого.

У меня есть две таблицы в моей базе данных sqliteDatabase, одна из которых является главной, а другая дочерней. Теперь, если я удаляю запись из master, предположим, что я удаляю строку из master, где id = 5, тогда все записи из дочерней таблицы, id = 5, удаляются автоматически. Я не знаю, как создавать триггеры и как применять ограничения внешнего ключа, поэтому кто-то, пожалуйста, скажите мне, как это сделать в sqlite3 Manager Firefox. Спасибо

Ответы [ 2 ]

3 голосов
/ 19 февраля 2010

Для этого вам не нужен триггер, ваш внешний ключ сделает это, если вы определите ON DELETE CASCADE:

CREATE TABLE child(
  id         INTEGER,
  some_info  TEXT, 
  master_id  INTEGER,
  FOREIGN KEY(master_id) REFERENCES master(id) ON DELETE CASCADE
);

См. документацию о внешних ключах .

EDIT:

Если вам действительно нужно сделать это с помощью триггера, взгляните на Триггеры Foreing Key .

0 голосов
/ 19 февраля 2010
...