如何删除“子”记录?

李·洛夫蒂斯(Lee Loftiss)

抱歉,标题含糊,我不太确定如何定义自己要执行的操作。

我有3个表:类别-具有唯一的ID(cat_id)问题-具有唯一的ID和类别外键(ques_category_fk)答案-具有唯一的ID和问题外键(ans_question_fk)

我想做的是删除一个类别下的所有问题和答案。删除问题没有问题。但是,我不确定如何使用相同的SQL语句删除答案。

我想加载所有问题,遍历所有问题或在答案中添加类别外键。两者似乎都是低效的。

这是我当前的删除语句:

DELETE FROM questions WHERE ques_category_fk = @fk
蒂莫修斯·保罗

编写和维护解决方案要容易得多,它们将在一个事务中分别运行这些查询,删除答案和问题,然后再提交。这样,您可以确保将它们全部删除(如果查询失败则不删除),也不必求助于冗长而令人困惑的查询。

举个模拟的例子,假设您要删除一个问题以及后续的答案,其ID为6(在我的示例中,idquestion在表问题中是pkey,在表答案中是f_key的名称):

start transaction;
delete from answers where idquestions = 6;
delete from questions where idquestions = 6;
commit;

然后,如果要删除许多问题,请首先运行查询以选择要删除的所有问题ID并对其进行遍历-对每个ID运行上述查询集。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除“子”记录?

来自分类Dev

如何删除记录,子记录和孙子记录?

来自分类Dev

如何快速从firebase中删除子记录?

来自分类Dev

如何通过ef删除asp.net中的子记录

来自分类Dev

出现ManyToOne关系时如何删除子记录?

来自分类Dev

如何删除子窗体中的当前记录

来自分类Dev

如何通过ef删除asp.net中的子记录

来自分类Dev

如何使用Spring Data JPA删除子记录

来自分类Dev

从记录中删除所有子记录

来自分类Dev

在Access VBA中,如何在删除之前验证父记录是否有子记录?

来自分类Dev

如何删除孤立记录?

来自分类Dev

如何删除纱线记录

来自分类Dev

如何循环删除记录?

来自分类Dev

如何删除孤立记录

来自分类Dev

如何删除重复的记录?

来自分类Dev

Spring-Data-JPA - 如何删除 OneToMany 关系中的子记录

来自分类Dev

如果计数超过 10,则删除子记录

来自分类Dev

gcloud dns 删除子域 NS 记录

来自分类Dev

如何选择不包含子记录的记录?

来自分类Dev

如何删除子列表

来自分类Dev

根据搜索文本删除父记录和子记录

来自分类Dev

如何验证子记录的数量?

来自分类Dev

雪花,如何删除拼合记录?

来自分类Dev

如何从TDBAdvGrid删除选定的记录?

来自分类Dev

如何删除Cassandra中的记录?

来自分类Dev

如何通过加入删除记录

来自分类Dev

如何防止用户删除记录

来自分类Dev

如何通过 OID 删除记录?

来自分类Dev

如何使用 IN 子句删除记录