OneToMany关系。如何删除行?

问题描述:

my database structureOneToMany关系。如何删除行?

你好。我刚刚学会了如何选择所有相关的数据,比方说,行 tennismatch.ID = 1:

SELECT * FROM tennismatch m 
JOIN tennismatch_tennisset ms 
ON m.`ID` = ms.`TennisMatch_ID` 
JOIN tennisset s 
ON ms.`mapOfSets_ID` = s.`ID` 
JOIN tennisset_game sg 
ON s.`ID` = sg.`TennisSet_ID` 
JOIN game g 
ON sg.`gamesMap_ID` = g.`ID` 
JOIN game_point gp 
ON g.`ID` =gp.`Game_ID` 
JOIN point p 
ON gp.`points_ID` = p.`ID` 
WHERE m.`ID` = 1 

,但我想不出如何删除这一切。 非常感谢提前。

使用DELETE JOIN语句

DELETE m, s, g, p, ms, sg, gp 
FROM tennismatch m 
JOIN tennismatch_tennisset ms ON m.ID = ms.TennisMatch_ID 
JOIN tennisset s ON ms.mapOfSets_ID = s.ID 
JOIN tennisset_game sg ON s.ID = sg.TennisSet_ID 
JOIN game g ON sg.gamesMap_ID = g.ID 
JOIN game_point gp ON g.ID = gp.Game_ID 
JOIN point p ON gp.points_ID = p.ID 
WHERE m.ID = 1 
+0

不能删除或更新父行,外键约束失败('tennis_scores'.'tennismatch_tennisset',约束'FK_TENNISMATCH_TENNISSET_TennisMatch_ID'外键('TennisMatch_ID')参考' tennismatch'('ID')) –

+0

我可以,因为,禁用外键检查。 –