【问题标题】:Cascade a value in a table级联表中的值
【发布时间】:2009-10-14 18:52:19
【问题描述】:

假设我有两个表,“a”和“b”。 “a”与“b”的关系是一对多的。让两个表都有字段status。此字段具有值“活动”和“不活动”。如果我将字段status 设置为'inactive',MySQL 是否有办法将其级联到与我更改status 值的行相关的所有表?还是必须在程序级别完成?

如果不清楚,请告诉我。

【问题讨论】:

    标签: php mysql database relationship


    【解决方案1】:

    您可以在父表上使用trigger,根据需要更新所有子表。否则,您必须在更新父行的应用程序的同一级别处理它。

    【讨论】:

      【解决方案2】:

      我从来没有尝试过这个,我不确定我是否会推荐它,但是如果你将status 列添加到你的外键中(所以你有两列:表'a'的主键和status),然后使用on update cascade 可能也可以。

      【讨论】:

      • 如何将孩子的状态设置为非活动状态,但让父母保持活动状态?
      • 你不能。因此,如果您需要这样做,这将不是解决方案。感谢您添加。
      • 级联更新也可能导致许多数据库中的锁定问题。只是在设计中需要考虑的事情。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多