逻辑问题-外键约束

mohugomohu 2008-01-04 09:16:32
有一个关于协会的数据库,里面有会员表,主键是"ID".
有个活动表,里面有个"负责人ID",跟会员表里的"ID"有外键约束,这样就能从会员表查到是谁负责的活动.
可是由于这两个表有关联,所以删除不了跟活动表有关联的会员.
这不合逻辑啊,有人退出协会,自然要删除这个会员的信息,可是因为他负责有活动(跟活动表里的负责人ID有关联),所以删除不了,怎么解决呢?
...全文
89 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2008-01-05
  • 打赏
  • 举报
回复
如果想保留此人的活动记录,给会员表加个是否已退会的字段,如果不想保留活动记录,可设置级联删除,删除会员时同时删除与其相关的活动记录.

也可考虑将外鍵去掉,相关的规则检查在前台程序实现.
火星求索 2008-01-05
  • 打赏
  • 举报
回复
加一个标识字段,
由于数据的重要性,在实际项目中也基本上没有真删的,只是给一个标识至为0,1
删除时更新字段就可以了,如楼主所遇真删会有很多问题
Bytexu 2008-01-05
  • 打赏
  • 举报
回复
不建议直接删除用户表,这样会导致很多关于该用户的信息都丢失了,这会导致很多问题,例如:日后如果这个活动如了问题也不知道该找谁。标准的做法是添加一个字段,用于表示用户的状态。
wxxloveu 2008-01-05
  • 打赏
  • 举报
回复
数据备份不就好了,或者再建个表把删除的记录记下来
hui_hui_2007 2008-01-05
  • 打赏
  • 举报
回复
其实级联删除,在实际用总感觉有点不放心,因为历史数据有时很重要,宁可有,不可无呀.
lxzm1001 2008-01-04
  • 打赏
  • 举报
回复
给他多加一个字段做为删除的标记
OracleRoob 2008-01-04
  • 打赏
  • 举报
回复
设置级联删除
wxxloveu 2008-01-04
  • 打赏
  • 举报
回复
建立一个触发器,作用是删除关联的表里的数据,都不是会员了,就不能是负责人

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧