我有几个表,我希望能够为所有行提供完整的修改历史记录。蛮力实现将是为旧条目所在的每个常规表创建一个影子表(即,具有与常规表相同的列设置的影子表),并且只保留常规表中的最新条目。
但我想更有效地做到这一点。我想要一张表来保存所有表的所有修改。在最基本的情况下,它的列将是table, column, value
. 当表中的行发生更改时,已更改列的旧值将插入到该表中。
这个新实现的问题是值列需要能够保持所有类型,因为不同的列具有不同的类型。
有没有办法创建能够保留所有类型的列?
我在 Debian Wheezy 机器上使用 MariaDB 10.0.3。