我有一个users
包含以下字段的表:userid, phone, and address
. 由于这是用户数据,我让用户随时更改它们。问题是我想跟踪这些更改并保留旧数据。以下是我考虑的一些想法:
将新数据附加到旧数据并使用像管道这样的分隔符。检索该字段时,我会检查该分隔符是否存在,如果存在,则将其后面的字符作为新数据获取。(感觉很麻烦,感觉不对)
changes
使用以下字段设置不同的表:userid, fieldname, fieldcontent
。当/如果用户更改数据(任何数据)时,我会将事件记录在用户的用户 ID 下的这个单独的表中,以及字段的名称/ID 和字段的旧内容,然后我现在可以覆盖他的旧数据在users
与新。如果我想查找此用户所做的所有更改,我会changes
按他的用户 ID 搜索表。问题是我将所有数据更改(所有字段)混合到一个表中,因此fieldcontent
字段changes
必须是文本以适应不同的字段类型。这似乎仍然比第一个想法好,但仍然不确定我是否做对了。
还有哪些其他想法或已知的最佳实践来保留旧数据?
提前致谢