为了账号安全,请及时绑定邮箱和手机立即绑定

求多对多关系,删除数据的时候,只删除中间表的数据,该怎么做。

求多对多关系,删除数据的时候,只删除中间表的数据,该怎么做。

POPMUISE 2018-12-06 19:56:57
求多对多关系,删除数据的时候,只删除中间表的数据,该怎么做。    
查看完整描述

6 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

中间表是啥表?

难道是只表示两表关系的映射表(mapping)?

 

delete * from user_course where userid = 1 and courseid = 2

有多条的话,可以用数据库事务,也可以简单点:

delete * from user_course where userid in{1,1} and courseid in{1,2}

查看完整回答
反对 回复 2019-01-07
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

表上面不要建参照完整型规则,由程序来做删除操作。

查看完整回答
反对 回复 2019-01-07
?
烙印99

TA贡献1829条经验 获得超13个赞

我没有建约束,在后台程序选择的时候取不到中间表的主键id,无法进行删除
查看完整回答
反对 回复 2019-01-07
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

@lovemc:其实你在删除用户的时候,需要删除user_course表中所有和用户userid有关的记录。所以有了用户id,直接:delete from user_course where userid in (1,2..)
查看完整回答
反对 回复 2019-01-07
?
慕容708150

TA贡献1831条经验 获得超4个赞

建议给出具体数据

  不要建立约束,就可以删除了

查看完整回答
反对 回复 2019-01-07
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

把主外键关系删除掉,这样就可以通过程序单独删除中间表的数据了。

查看完整回答
反对 回复 2019-01-07
  • 6 回答
  • 0 关注
  • 510 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信