假设我有下表名为“contacts”:
id|name|age
1|John|5
2|Amy|2
3|Eric|6
在获取计算机上文件的校验和时,是否有一些简单的方法可以检查此表是否与sha / md5哈希的工作方式有何不同?
因此,例如,如果在此表中添加了新行,或者在表中更改了值,则“散列”或某些生成的值会显示该表已更改。
如果没有直接机制,那么最好的方法是什么(可能是一些arbirary哈希机制,只要该方法强调性能和最小化延迟)?它可以应用于多个表吗?
答案 0 :(得分:1)
没有通过SQL获取该信息的直接机制。
您可以考虑为每一行添加额外的LastModified列。要知道上次修改表的时间,请选择该列的最大值。
您可以通过在表上使用trigger来获得类似的结果,用于INSERT,UPDATE和DELETE,它会使用上次修改的时间戳更新单独的表。
答案 1 :(得分:0)
如果您想知道某些事情是否发生了变化,您需要进行比较。例如日期。您可以添加一个包含两列的表,即tablename和timestamp,并为您要控制的表上的事件编写触发器,因此此触发器将更新此控制表的timestamp列。
答案 2 :(得分:0)
如果表格不是太大,您可以复制整个表格。如果要检查更改,可以查询旧数据与新数据。
drop table backup_table_name;
CREATE TABLE backup_table_name LIKE table_name;
INSERT INTO backup_table_name SELECT * FROM `table_name`;