我正在寻找一种方法来设置(通过 SQL)一个日志表,其中包含对我的 sqlite 数据库所做的所有操作(最好是向数据库发出的插入、创建表等语句)。我确信有办法通过在每个表上设置触发器来做到这一点,但这只是太多的工作,而且如果我稍后更改数据库的架构,这并不是一个好兆头。是否有一个适用于数据库的全局全局事物(例如数据库本身的触发器)?
我还愿意接受其他建议,以保留对 sqlite 数据库所做的更改的记录,以便我可以在几个月后回顾这些更改。
(当然,在编程上有很多方法,但我不能确定我的程序是唯一写入数据库的程序)。
尽管以下方法不能满足您的所有要求,但您可能希望看到一种方法来实现这一目标。Mike Chirico 的 SQLite 教程 http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html有一节关于记录所有插入、更新和删除模仿 MySQL 的 binlog 功能。
它依赖于触发器,这些触发器必须与您希望跟踪其更改的每个表的架构相匹配。也就是说,如果您的表有一个名为“a”的字段,那么日志记录表需要跟踪“aOLD”和“aNEW”。通过这种方式,触发器能够记录对该特定表中的字段进行的更新、插入和删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)