2012-09-10 44 views
4

它可能获取创建和更新时间的一行直接与SQL/MySQL? 我知道一个方法来获取表最后更新,但我想知道是否会有一个快速的本地方式来执行此与SQL。在mysql中获取行创建/更新时间戳/日期

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

我听到了建议! 感谢您的帮助。

+0

至于何时成为被遗忘一个我可以告诉没有内置的方式来获取这些信息。你必须添加你自己的专栏来完成它。 – aroth

+0

http://stackoverflow.com/questions/307438/how-can-i-tell-when-a-mysql-table-was-last-updated?rq=1 – Jocelyn

+0

@Jocelyn你的链接解释如何ü得到了最后一次更新对于一个表,不是为表 –

回答

1

我不知道有什么办法做到这一点没有在表中有两个额外的列 - 但是我做到及时更新他们什么是有一个数据库触发器做到这一点,而不是应用程序逻辑。

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

首先,好处:

  • 这是很容易通过这种方式添加它作为一种事后到一个应用程序。申请/网站代码的更改很少。触发器负责全部处理。 (假设你通过指定字段名中插入新行)
  • 触发器将采取任何其他方式来改变数据关怀 - 有人从控制台更改排仍然会造成触发器触发如使用同一个数据库中的另一个应用程序。
  • 允许可能性(虽然我不这样做的话)具有纯行插入/更新表。

但是一些缺点也:

  • 除非你知道触发器在做这些更新,它往往被忽视和触发器迁移到另一台服务器等
+0

即时创建基于DataMapper的ORM,并试图添加一个选项来恢复最后的字段编辑时间和更新时间,只有当用户需要它的东西(例如,得到一个用户注册时间)我怀疑是否有任何直接的方法让SQL检索这些信息....如果不存在,那么无论如何,我会继续使用真正的字段来存储更新/创建时间 –

+0

@StefanLuv是的,它更多的是在表上使用单个触发器更易于使用,而不必修改许多不同的代码段来更新同一个表 - 并修改所有查询/操作。 – Fluffeh

+0

这就是所有,更好的选择它触发器,由你和感谢参与! –