我想它已经有了答案,但我尝试以各种方式制定我的搜索短语,但未能找到答案。
我有一个 SQLite 数据库,其中一个表名为 Student。假设其中一个学生(比如说彼得)也出现在多个其他表“关系”中,例如“喜欢吃..”、“有类(class)...”、“住在..”。请注意,这些是单独的表,有自己的列。因此,假设 Peter 出现在 100 个表中。
现在,我想删除学生 Peter。我从 Student 表中删除了他,但他的名字在其他 99 个表中仍然挂着,而我希望它也从这些表中消失。
问题:SQLite 有没有办法自动执行这样的删除?在所描述的情况下,我是否必须“手动”从所有 100 个表中手动删除 Peter,或者 SQLite 是否可以跟踪这些删除,并在从 Students 中删除 Peter 时自动从其他 99 个表中删除 Peter?也许通过“外键”或类似的东西.. 提出问题的另一种方式:我将 Peter 添加到 Students,现在是否可以将 Peter 添加到另一个表,这样如果从 Student 中删除他,他也会从其他表中删除?
最佳答案
您需要使用删除级联
操作的外键。
快速查找 sqlite 文档我发现了这个:https://sqlite.org/foreignkeys.html
参见第 4.3 节
关于Sqlite - 从多个表中自动删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44148864/