添加全局规则以修改所有数据库插入和更新的日期

Add a global rule to modify dates for all database inserts & updates

我需要在任何 table 中插入或更新指定日期时向遗留 MySQL 5.1.73 数据库添加规则。 (每个字段都有一个默认日期设置,因此以某种方式使用它不是一个可行的解决方案)。

例如:

    IF NewDate = *TheSpecifiedDate* THEN SET NewDate = *ConstantDate*

这一逻辑对于所有具有一个或多个 DateTime 字段的 table 都是相同的。

目前我唯一的解决方案是手动为每个 table 添加触发器。这将需要做很多工作,如果需求发生变化,维护起来也会很麻烦。

因此,我想知道是否可以以某种方式使它成为整个数据库的全球化 rule/trigger,无论何时在任何 DateTime 字段上尝试插入或更新时?

或者是否有更多 elegant/preferred 的方式来实现这种甚至可能不涉及使用触发器的全局规则?

只是为了结束这个,对于任何试图做类似事情的人...

我的场景中的主要限制是我正在缓慢迁移 200 多个遗留应用程序,因此在转换所有应用程序之前无法操作遗留数据库行为或结构。我还需要复制一些现有的行为,不管我喜不喜欢!

当我发布这个问题时,我正在为我的数据访问层使用 EF6。更改为 EF Core 1.1.0 后,我现在可以在我的 table 映射中使用 'HasDefaultValueSql' 设置,这通过允许我在数据库更新时设置一个值来解决我的特定问题。