我想从两个表中删除一行,队& Teams_Members。球队表中的id
是一个主键,并且是一个名为team_team_id
的teams_members表中的外键。从两个关联表中删除
我尝试使用这样的:
DELETE `teams`, `teams_members`
FROM `teams`
LEFT JOIN `teams_members`
ON `teams`.`id` = `teams_members`.`team_team_id`
WHERE `teams`.`id` = 2;
但我得到这个错误:
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`animatordb`.`teams_members`, CONSTRAINT `fk_teams_members_team` FOREIGN KEY (`team_team_id`) REFERENCES `teams` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
我如何能实现我的目标,更具体的我想这样做在PHP。我正在使用Codeigniter。
首先'删除team_members WHERE team_team_id = 2;'然后'删除队伍WHERE id = 2;' – Jompper
为什么不直接执行两个删除查询,先从team_members删除,然后再删除team table?基本上,当你执行选择查询时,你选择的是不同类型的连接,例如左连接,内连接等,但是对于删除,你应该删除单个表中的记录而不是创建连接 - 这是无论php/raw mysql查询 –
如果你看到我的编辑,我想用PHP做这个。 – user1601973