php - 更新应用程序或数据库中的时间戳列?

标签 php mysql timestamp

我在数据库中的每个表上都有 date_created 和 date_modified 列。

使用 MySQL 触发器在数据库中设置时间戳列与使用 PHP 在应用程序层设置时间戳列有什么优缺点?

在多台服务器上部署时,哪个更易于维护且时间同步性更好?

编辑: 既然 Johan 建议在数据库中设置时间戳是好的,那么这些实现是否正确? 另外,在每个表上都有 date_created 和 date_modified 是好习惯吗? 还是建议将它们添加到某些表中?

date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
date_modified TIMESTAMP NOT NULL DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

最佳答案

数据库中的时间戳。

如果您在主从设置中进行复制,则会正确复制数据库时间戳(使用原始时间戳)。

您不(!)在触发器中设置时间戳。

您无需在表定义中指定它们,MySQL 将在插入和/或更新时自动设置正确的时间戳。
您只需在创建(或更改)表时设置一次即可。

再简单不过了。

关于php - 更新应用程序或数据库中的时间戳列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291104/

相关文章:

php - 注销后删除用户的 session 存在

php - 如何使用eclipse查看php函数源代码

mysql - 删除mysql中除了一个重复行之外的所有行

php - MySQL返回结果在while循环中显示两次?

apache-kafka - Apache 卡夫卡流: Out-of-Order messages

javascript - 在javascript中将时间戳转换为人类日期的函数

php - 检查 MySql 数据库中的值范围,如果为空则返回

php - Magento 不获取新的数据库详细信息

mysql - 使用 mysql 函数 GROUP_CONCAT() 时出现双逗号冲突

Python 根据日期从 CSV 中删除行