我想它已经回答了,但我尝试以各种方式制定我的搜索短语,但未能找到答案。
我有一个SQLite数据库,其中一个表名为Student。假设其中一个学生,也就是说彼得,也出现在多个其他表“关系”中,比如“喜欢吃......”,“有课程......”,“生活在......”。请注意,这些是带有自己列的单独表格。所以,让我们说,彼得出现在100张桌子里。
现在,我想删除学生彼得。我从学生表中删除了他,但是他在其他99个表中的名字仍然悬挂,而我希望它也从那些表中消失。
问题: SQLite中有没有办法自动执行此类删除操作?在描述的情况下,我是否必须“手动”从所有100个表中手动删除Peter,或者SQLite是否可以跟踪这些删除并自动从其他99个表中删除Peter,如果他从学生中删除?也许通过“外键”或类似的东西.. 制定问题的另一种方法是:我将Peter添加到学生中,现在是否可以将Peter添加到另一个表中,如果他从学生中删除,他也将从其他表中删除?
答案 0 :(得分:1)
您需要on delete cascade
操作的外键。
一个qiuck查找sqlite doc我发现了这个:
https://sqlite.org/foreignkeys.html
见第4.3节