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

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

 

 

POPMUISE
浏览 511回答 6
6回答

汪汪一只猫

中间表是啥表? 难道是只表示两表关系的映射表(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}

元芳怎么了

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

烙印99

我没有建约束,在后台程序选择的时候取不到中间表的主键id,无法进行删除

子衿沉夜

@lovemc:其实你在删除用户的时候,需要删除user_course表中所有和用户userid有关的记录。所以有了用户id,直接:delete from user_course where userid in (1,2..)

慕容708150

建议给出具体数据   不要建立约束,就可以删除了

婷婷同学_

把主外键关系删除掉,这样就可以通过程序单独删除中间表的数据了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server