我有一个包含多个表的数据库
,用户可以更改表格中的数据。
我的问题是,在用户点击“保存”按钮之前,我不会在数据库中发生任何变化,即使他这样做 - 它只提交他决定保存的表
但与此同时,用户必须能够看到他所做的所有更改。并且每个“选择”必须给他修改的数据,而不是基础数据。
我怎么能一方面不提交数据库中的数据,另一方面显示修改后的数据给用户?
我想做一个交易并且不提交,(并且使用read未提交)但是为此我必须不关闭连接(如果我关闭而不提交 - 所有更改都被取消)而且我不不要打开几个连接。
我还想构建一个包含所有更改的列表,每当用户进行选择时 - 首先从列表中搜索。但它非常复杂,我更喜欢简单的解决方案
谢谢
答案 0 :(得分:0)
您可以使用临时表来存储临时数据,然后在需要时移动它们。
答案 1 :(得分:0)
由于您坚持不能使用交易,因此 非常 难以处理。
我可以建议的最好是在每个表中添加列来表示状态 - 但即便如此,对于如何确保用户 A看到的是预更改和用户 B帖子但尚未提交。
也许您可以查看使用两个表并根据需要选择相关数据的视图。
无论哪种方式,这都是一种讨厌的方式而不是非常高效。
你坚持不能使用交易的那一刻就是你拿走任何简单答案的机会。
临时表在这里没有帮助(如上所述),因为它与您声明将关闭的连接相关联。唯一的替代临时表解决方案是全局临时表,但这也导致问题(谁创建它,如果你是最后一个使用它的连接,检查它是否存在等等。)