Sqlite - 从多个表中自动删除

标签 sqlite

我想它已经有了答案,但我尝试以各种方式制定我的搜索短语,但未能找到答案。

我有一个 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/

相关文章:

sql - 按列排序表,但如果为0,则忽略-SQLite

sqlite - 在两列上创建主键

node.js - 在 Electron 中使用sqlite3,db.serialize不能正常工作

python - 是否有使用 Sqlite 的 "with conn.cursor() as..."方法?

c# - 使用 INSERT 语句时如何修复 'SQLite exception, Insufficient parameters supplied to the command'

javascript - 程序以奇怪的顺序运行?

java - 数据库.sqlite.SQLiteException

java - SQLiteDatabase 多线程锁定模式

php - 将图像数据从远程数据库获取到 sqlite 数据库

python - Django 1.4 定义用户