【发布时间】:2025-12-19 10:30:17
【问题描述】:
今天我发现我的许多生产数据库都有名为 status_update 的列的未来日期,该日期仅由 now() 函数设置。
大部分日期是 10 月 8 日:
- 2014-10-08 08:20:42.97564
- 2014-10-08 16:31:30.304743
- 等
但其中一些:
- 2014-10-09 08:31:44.775589
- 2014-10-10 08:50:24.235533
- 2014-10-13 10:42:20.038917
- 等
请问谁能帮我解决这个问题?怎么可能?
我的应用程序是基于 PHP 构建的。当前时间为 2014-10-07 17:35:00。
SELECT now() 返回2014-10-07 17:35:56.192627+01
提前致谢。
更新
我的错,我错过了用于设置 status_update 值的pjobdate + current_time 表达式。对不起。
【问题讨论】:
-
now()不会在任何表上设置任何列。请向我们展示您的逻辑(例如您的触发器),它会更新该列。 -
嗨@pozs,多亏了你,我重新检查了所有函数和触发器,发现这个表达式
pjobdate + current_time用于设置status_update 的值。我很惊讶,因为我以为我学会了这个项目。
标签: php postgresql timestamp