gpt4 book ai didi

php - MySQL表的基本版本控制

转载 作者:可可西里 更新时间:2023-11-01 07:17:13 24 4
gpt4 key购买 nike

我正在尝试为站点上的静态 html 页面设置一个(我认为)相当简单的版本控制系统。目标是保留以前版本的内容,然后在需要时恢复到它们(我想基本上是创建一个旧版本的副本的新版本),并可选择丢弃早于 X 版本之前的数据。

表格的设置非常简单:

  • 编号
  • reference_id(字符串/用于确定该项目属于哪个页面)
  • 内容(文档/html 页面大小的数据量)
  • e_user(最后修改的用户)
  • e_timestamp(更改时)

我只想设置一些东西来为每次对内容的编辑创建一个以前的版本,然后在需要时能够恢复到它。

完成此任务的最佳方法是什么?所有东西都应该在同一张表中,还是分布在几个不同的表中?

我通读了几页关于这个主题的内容,但其中很多内容对于我想要完成的事情来说似乎有点矫枉过正(例如 http://www.jasny.net/articles/versioning-mysql-data/)

是否有任何平台/指南可以帮助我完成这项工作?

最佳答案

理想情况下,您希望同一个表中的所有内容都与查询中的某些内容一起获得正确的版本,但是您应该小心如何执行此操作,因为低效的查询会给您的服务器带来额外的负载。如果通常情况下您会像这样选择单个项目:

SELECT * FROM your_table WHERE id = 42

这将变成:

SELECT * FROM your_table
WHERE id = 42
AND date < '2010-10-12 15:23:24'
ORDER BY date DESC
LIMIT 1

索引 (id, e_timestamp) 以使其高效执行。

在单个查询中选择多行比较棘手,需要采用分组最大方法,但这是可以做到的。

关于php - MySQL表的基本版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com