我想知道我的 MYSQL 数据库中之前更新的值。
si.no cus_name date status
1 JOHN 2012-05-02 active
<小时/>
1 PAUL 2012-05-02 active ( not a new record just an 1st-update )
1 JOSE 2012-05-02 active ( not a new record just an 2nd-update )
现在,当我使用 "PAUL"
更新名称时,我想获取 cus_name 值 "JOHN"
,与 "JOSE"
相同应将值指定为 "PAUL"
。
请向我提出同样的查询。
非常感谢您的宝贵时间。
最佳答案
如果您想访问以前的值,您有两个选择。
- 使用版本号和时间戳列设计表,以便您始终可以获取最新版本以及该行的任何先前版本。您必须将更新操作更改为插入,可能在您的应用程序代码中或使用触发器。如果表频繁更新,可能会导致表变得非常大。
- 使用第二个表来存储更新行的先前版本。该表将需要版本号(可能还需要更新时间戳)。这种方法的优点是,具有“当前”数据的主表不会随着更新的累积而经历无限制的增长。这也可以通过触发器或在您的应用程序中完成。
您选择哪一个将取决于更新频率以及访问“旧”记录的频率。
关于MYSQL查询即使更新后也能获取旧记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633403/