如何在sqlite3中创建触发器?

时间:2010-02-19 14:28:26

标签: database sqlite foreign-key-relationship

我是这个话题的新手。 我想要这样的东西。

我的sqliteDatabase中有两个表,一个是master,另一个是child。 现在,如果我从master中删除一条记录,假设我从master中删除了一行,其中id = 5,则自动删除id = 5的子表中的所有记录。 我不知道如何创建触发器以及如何应用外键约束,所以有人请告诉我在firefox的sqlite3 Manager中执行此操作的方法。 感谢

2 个答案:

答案 0 :(得分:3)

您不需要触发器,如果​​定义ON DELETE CASCADE,外键将执行此操作:

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

请参阅documentation about foreign keys

修改

如果您确实需要使用触发器,请查看Foreing Key Triggers

答案 1 :(得分:0)