如何删除数据而不会丢失它们

时间:2016-11-23 14:08:08

标签: sql postgresql

有两个表:

  1. 学生(STUDENT_ID,GROUP_ID)
  2. 组(GROUP_ID,NAME)
  3. 我需要编写一个查询来删除指定组中的学生(假设有一个组有' target_id')而不会丢失任何数据。

    我试着解释另一个词。一个学生可以在很多小组中学习。其中一个组是' target_id'。如果我们删除学生,他会从所有组中消失。但我需要这个学生只从一个群体中消失。

    与群组相同 - 查询不应删除任何群组。

1 个答案:

答案 0 :(得分:2)

您所描述的是多对多关系。这通常通过创建第三个表

来建模
STUDENT_GROUP
STUDENT_ID     GROUP_ID

然后您将从STUDENTS表中删除GROUP_ID。这样,学生和团体都可以独立于任何学生团体会员记录。