gpt4 book ai didi

mysql - 使用外键删除其他数据

转载 作者:行者123 更新时间:2023-11-29 07:23:31 24 4
gpt4 key购买 nike

我正在申请实习。我们在休息时间玩游戏,我正在申请跟踪比分。

我可以添加玩家游戏。之后,我可以编辑游戏并指定获胜者。游戏 table 和赢家 table 是分开的。

Players: ID(PK), name
Games: ID(PK), player_1(FK), player_2(FK) --- Connected to players.id
Winners: ID(FK), name (FK) --- winners.id connected to games.id, name to players.

如果我在游戏中没有指定赢家,我可以放心地删除一条记录。但是,如果我分配了获胜者,我不能:无法删除或更新父行:外键约束失败

我知道为什么,因为获胜者与游戏有关。但是我怎样才能删除一个游戏并立即从另一个表中删除获胜者呢?

最佳答案

首先从winners中删除外键约束:

ALTER TABLE winners DROP FOREIGN KEY yourforeignkeyname

然后用 ON DELETE CASCADE 重新创建它:

ALTER TABLE winners 
ADD CONSTRAINT yourforeignkeyname
FOREIGN KEY (ID)
REFERENCES games(ID)
ON DELETE CASCADE;

现在,当您删除游戏时,获胜行也会被删除。

关于mysql - 使用外键删除其他数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com