如何将帖子标记为已编辑?

时间:2010-04-10 01:05:30

标签: mysql

我想将问题标记为“已编辑”,但我不知道最好的方法是做什么。

用户发布问题,人们回答/评论问题,如有必要,用户编辑/更新问题(就像SO一样)。我想请注意用户编辑了这个问题,但我不确定这样做的最佳方式。

我打算在表格中添加一个last_edited列(因为这对我来说非常重要),但我不确定是否应该将编辑时间(以及其他任何内容)分成另一个每次编辑问题时都会对表进行记录和记录。

编辑: UIf我要使用时间戳,会用什么时间?有没有办法在update上插入unix时间映射?

4 个答案:

答案 0 :(得分:2)

这取决于是否有人(用户或管理员)关心编辑历史。

如果他们这样做,肯定会拆分成另一张表

答案 1 :(得分:0)

如果您想要的所有内容都是标记已编辑,您只需在同一个表中添加一个Timestamp列,默认情况下填充到NULL,然后填入上次更新时间戳。

在页面上如果已填充,则显示其值,否则不显示已编辑的图标/符号。

答案 2 :(得分:0)

如果您只关心最近更新的时间,请在同一个表中添加timestamp列。

如果您想跟踪发生的每个修改,请创建一个包含question_idtimestamp的单独表格。

答案 3 :(得分:0)

根据您处理日期/时间数据的方式,您可以存储unix时间戳(fieldname = unix_timestamp(now())),也可以存储为常规mysql日期时间字段(fieldname=now())。

如果你打算在mysql中根据日期/时间进行数据排序/过滤,那么使用本机日期时间类型,这样你就可以直接利用mysql的所有日期和时间处理功能。如果您要在应用程序中执行大部分处理,则unix时间戳往往比格式化的日期/时间字符串更便携。

对于表结构,跟踪编辑的最简单方法是一对字段(lastedited和lasteditor)。如果您想保留完整的编辑器和时间列表,那么您将需要一个单独的表。如果您要跟踪更改,那么版本控制/跟踪信息可以放在同一个表中。