1
我想了几个小时找出正确的SQL查询从表(MySQL中)选择最新的历史记录。无法找出正确的SQL查询历史表记录
在我的应用程序中,我想保留每个数据修改的历史记录。所以我的想法是,而不是对现有记录进行更新,而是对新记录进行INSERT。此外,还有一个修订版计数器,随着每个记录修改而增加。
这是我的表:
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 4 4 1 0 0 SUSANN ABC123 0 5 4 1 0 1 SUSANN 123ABC 0 6 4 1 0 2 SUSANN 123ABC 1 7 4 1 1 3 SUSANN 123ABC 1
注UID为4至7实际上是相同的记录即“苏珊”,行。第4行是第一行。第5行修改了密码,第6行修改了管理标志,第7行修改了删除标志。
uid是一个自动递增器,并为内部目的标识表中的行。 rid是实际的记录ID。
现在。选择单条记录的最新版本可以做到这样:
SELECT * FROM表 WHERE RID = 4 ORDER BY修订DESC LIMIT 1
我的问题是选择的所有最新名单所有登录修订:根据样本数据结果集应该是:
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 7 4 1 1 3 SUSANN 123ABC 1
有人能指出我在正确的方向。我认为正确的关键字已经足够了。从那里我可以想出一个办法。
谢谢。
就是这样......除了一个小错字,它正是我想要的。谢谢拉玛克。 – 2011-02-04 22:06:07