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 = ?
我有两个 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 = ?