想象一个应用程序,其中人们希望保留对数据库中“记录”所做更改的历史记录。
这可以通过引入一个指向较新版本记录的“modified_id”列来实现。
id value revised_id
--------------------------------------------------
1 Initial value... 3
2 Value of a different record Null
3 Value which has been altered 4
4 Value which has been altered again Null
该表说明了两个“实际记录”,其中一个已被改变两次
获取所有最新版本只是意味着将revised_id = null添加到WHERE子句中。简单地获取以前的版本:SELECT * FROM table WHERE revised_id = $ current_id
我的任务是:是否可以选择给定记录的所有先前版本?(问题在于简单的比较是不够的,因为要选择的记录被“链接”在一起。)