4

它可能直接用 sql/mysql 获得一行的创建和更新时间吗?我知道一种获取表最后更新的方法,但我想知道是否会有一种快速的本地方法来使用 sql 执行此操作。

我做了一种方法来自动在表中创建 2 个字段(created_date 和 updated_date),但我决定先问你,因为可能有更好的方法来做到这一点。

我听到建议!感谢帮助。

4

1 回答 1

1

如果表中没有两个额外的列,我不知道有什么方法可以做到这一点 - 但我更新它们的方法是让数据库触发器而不是应用程序逻辑来完成它。

使用触发方法有一些好处,但也有一些缺点。

首先,好处:

  • 以这种方式将其作为事后的想法添加到应用程序中要容易得多。对应用程序/站点代码的更改很少。触发器会处理这一切。(假设您通过指定字段名称插入新行)
  • 触发器将处理任何其他更改数据的方式 - 从控制台更改行的人仍然会导致触发器触发,就像使用相同数据库的另一个应用程序一样。
  • 允许插入/更新表的纯行的可能性(尽管我不这样做) 。

但也有一些缺点:

  • 除非您知道触发器正在执行这些更新,否则它通常会被忽略,并且在迁移到另一台服务器等时触发器会被遗忘
于 2012-09-10T01:39:35.967 回答