sql - 父删除时不删除子记录

标签 sql database foreign-keys

我确实有一个 sql 表,其中表 B 与表 A id 具有一对多的外键关系。如果删除表 A 的相对父记录,我不希望删除表 B 的记录。我在删除和更新时尝试了 CASCADE 和 NO ACTION,但除了删除外键约束之外没有其他解决方案。有没有另一种方法可以在不删除约束的情况下解决问题?

最佳答案

我没听说过有什么办法可以有外键约束,并且在父表删除记录后保留在子表上。这就是为什么它被称为约束,它是一个不能被打破的规则。

我可以建议另一件事,而不是删除记录,使其不可用。添加日期字段或指示字段,这将告诉您此记录有问题。

关于sql - 父删除时不删除子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37047585/

相关文章:

MySQL触发器: copy auto_increment value to another column upon insert

mysql - 将 JSON_EXTRACT 与 CAST 或 STR_TO_DATE 链接失败

php - Mysql Foreign key (150 外键约束不正确)

mysql - MySQL 数据库中的外键

mysql - SQL 更新 - 不工作

sql - sql server 中的标识列在技术上是如何工作的?

sql - 如何在 SQL 中将表绑定(bind)到值(例如 ID)?

ruby-on-rails - Rails 4 多线程应用程序 - ActiveRecord::ConnectionTimeoutError

mysql - 通过 PhpMyAdmin 的复合外键约束?

mysql - 如何在不同的数据库中使用带有外键的 django 模型?