gpt4 book ai didi

php - 删除MySQL表中的重复行但存在外键关系?

转载 作者:行者123 更新时间:2023-11-29 02:37:14 26 4
gpt4 key购买 nike

当已经在这些行上设置了外键关系时,如何从 MySQL 表中删除重复行。
能否以某种方式合并重复项,然后使用新值更新外键?

最佳答案

如果外键是 ON DELETE CASCADE,那么删除重复行也会删除相关行,例如,如果您有一个表 customers 和一个表 orders,以及像 ALTER TABLE orders ADD FOREIGN KEY customer_id REFERENCES customers (id) ON DELETE CASCADE 这样的外键,然后删除客户也将删除该客户的订单。同样,如果外键有ON DELETE SET NULL,那么订单不会被删除,但它们的customer_id值会被设置为NULL。

如果这些都不是所需的行为,请设计一个查询,通过更改外键列来解决外键冲突,以便它们引用您要保留的行(即更新所有订单以引用非重复客户) ,然后删除有问题的行。

另一种选择是暂时禁用外键检查,但这会使您的数据库不一致,因此我不推荐这样做。

关于php - 删除MySQL表中的重复行但存在外键关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398538/

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