php – 获取mysql表数据的md5 / sha1哈希值?
发布时间:2020-12-13 21:41:23 所属栏目:PHP教程 来源:网络整理
导读:简而言之,在一个全局包含的配置文件中,我从表中获取设置,并使用来自数据库表的settingKey,settingVal在我的代码中定义一个常量,现在我认为没有那么多开销,但是如果我结束了有大量的设置,最好检查一下它们是否已经改变,如果有的话,定义它们,否则不然. 那么底
简而言之,在一个全局包含的配置文件中,我从表中获取设置,并使用来自数据库表的settingKey,settingVal在我的代码中定义一个常量,现在我认为没有那么多开销,但是如果我结束了有大量的设置,最好检查一下它们是否已经改变,如果有的话,定义它们,否则不然.
那么底线,我应该/我可以得到一个表的哈希并将其与上一个已知的表哈希进行比较,以查看值是否已更改?或者我是以完全错误的方式解决这个问题,还有一种更有效的方法吗? 谢谢! 解决方法
创建一个触发器,在日志表中写入上次更新的时间等.
CREATE TABLE LOG ( id integer PRIMARY KEY AUTOINCREMENT,tablename varchar NOT NULL,action ENUM('insert','delete','update') NOT NULL,action_time DATETIME NOT NULL) DELIMITER $$ CREATE TRIGGER ai_table1 AFTER INSERT ON table1 BEGIN INSERT INTO log (id,tablename,action,action_time) VALUES (null,'table1','insert',NOW()) END$$ CREATE TRIGGER ad_table1 AFTER DELETE ON table1 BEGIN INSERT INTO log (id,NOW()) END$$ CREATE TRIGGER au_table1 AFTER UPDATE ON table1 BEGIN INSERT INTO log (id,'update',NOW()) END$$ DELIMITER ; 请注意,触发器不会触发FOR EACH ROW,因为您只想要发生任何更改的日期,这会使触发器在执行多次更新/删除/插入时稍微加快(并且日志稍微缩短). 链接: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |