SQL 从两个表中删除

SQL Delete from two tables

我有两个 table:'player' 和 'game'。 player的主键是table游戏中的外键。

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

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

我的语句仅在玩家同时处于 table 时删除。但是当这个玩家不在游戏中时我也想删除玩家table。

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

您可以尝试使用左外连接

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