我想维护应用程序的历史记录表,以跟踪用户更改了所有字段的内容。
以下是我的 bugs_history 表格结构 -
id, bugsid, userid, field_changed, old_value, new_value, created_on, created_by
所以我的查询是,当我更新我的表单并提交时,如何获得已更改的字段名称以及旧值和 new值即可。并在上面的历史记录表中添加修改后的更改。
我已经搜索了很多内容,但没有根据我的要求得到。请告诉我如何实现这一目标。
答案 0 :(得分:0)
如果您知道字段名称(您有一个包含它们的HTML表单,那么您可能知道名称)然后构建一个列表然后循环,构建一个新的<div class="col-xs-3">
查询以获取{{ 1}}然后SELECT
查询以保存它。选择将在old_value
和INSERT
上订购。
但我在这里看到一个明显的问题:并发性。当两个用户同时尝试编辑同一个bug(同一个created_on DESC
)时会发生什么?他们会期望两者的LIMIT 1
相同吗?或者这两个操作是否应该按顺序执行?或者是否应该警告最后一个编辑他是否正在尝试编辑陈旧数据?哪一个会获得“最新”bugsid
?
这就是你真正的问题,而不是编写生成两个SQL查询的代码。