我正在处理一些高容量但不是非常可变的数据,并且想要维护一个更改表(调用它update_history),以及一个保存当前数据的表(调用它current_data)。
current_data包含:(id这是唯一的),,value(tstamp当前时间戳)update_history包含:(id这也是唯一的),,value(tstamp对于所有更新),delete
假设我有id= 1 的某些数据。在时间 0 初始化为 10,在时间 5 更改为 2,在时间 8 删除,在时间 10 再次设置为 10。毕竟,我想要update_history包含装有:
Id Value Stamp Delete
1 10 0 0
1 2 5 0
1 2 8 1
1 10 10 0
虽然我可以从update_history对表的每次更改中进行选择current_data,但查看值是否已更改,或者是否删除了 id 并插入了一行,但这似乎有点过分。
我正在寻找一种在一个或两个查询中批量执行此操作的方法。特别是,我正在寻找一个查询,它检查每个in的对应idin ,如果未找到最新或in的值不匹配,则插入一行, , , =0。update_historyidcurrent_datatstampidupdate_historyidvaluestampdelete
任何帮助将不胜感激。