SQL从两个表中删除

时间:2015-05-21 17:47:12

标签: mysql sql sql-delete

我有两张桌子:'玩家'和'游戏'。 玩家的主键是桌面游戏中的外键。

'player' --> PK = idPlayer
'game'   --> FK = player_idPlayer

所以现在我想删除玩家表中的一个玩家。 SQL语句还应该删除游戏表中idPlayer = player_idPlayer的所有条目 - 如果有的话。

我的声明仅在玩家在两个表中时删除。但是当这个玩家不在游戏桌中时,我想删除玩家。

DELETE player, game 
FROM players, game 
WHERE idPlayer = player_idPlayer AND player_idPlayer = ?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用左外连接

DELETE p, g 
FROM players p 
LEFT OUTER JOIN game g ON g.player_idPlayer = p.idPlayer
WHERE p.idPlayer = ?