首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql编辑保存日志

sql编辑保存日志
EN

Stack Overflow用户
提问于 2011-05-01 12:26:16
回答 2查看 60关注 0票数 0

我想知道如何在sql server中保存已编辑的值,以便在此之后返回到它的值。

例如:

我有它的状态正在工作的用户,在它的状态被“关闭”一年之后,状态在表用户中被保存为一个id,当它正在工作时,状态id是1,当它关闭时,我将id更新为2。我怎样才能看到这个用户从日期到现在是工作的,而现在他已经关闭了。

谢谢你的回复。

我问你了。

但是这里的问题是,我这里只给出了一个例子,就是用户状态,但问题是,我有那么多表,我更改了它们的Id。例如,我有城市的Id,或者产品的Id等等。

如果我将它保存在同一个用户表(例如,我丢失了用户id ),因为每次更新用户时,它都会接受一个新的id,或者如果我执行一个用户状态表,我将执行20个或更多的表,比如用户状态历史记录。此外,我还想保存文本,不仅是id的。例如,用户获得了一个新的地址,我想说,从这个日期到今天,他在以前的地址,现在他住在另一个地方。

任何建议请:).

EN

回答 2

Stack Overflow用户

发布于 2011-05-02 07:51:46

您的问题非常不清楚,但我认为您的意思是“我有一个带有状态列的user表,我需要看到状态更改的历史记录,因为当我更改特定用户的状态值时,我会丢失以前的值”。

如果这是正确的,一个简单的解决方案是添加一个名为UserStatus的第二个表,并在每次用户状态更改时向其中插入一个新行。然后,您可以轻松地查看每个用户状态更改的完整历史记录,还可以通过查询用户的“最新”行来查找任何用户的当前状态。

原则上,如果添加UserStatus表,则用户表上的Status列是不必要的,因此可以删除它。如果这是不可能的(例如,您不使用该表控制应用程序),那么您可以在更新状态时向用户表添加一个触发器,该触发器将自动填充UserStatus表。

票数 0
EN

Stack Overflow用户

发布于 2011-05-02 10:44:05

我的建议是有两栏

一个是工作/日期和关闭/日期,这样您就可以维护数据的历史记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5848329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档