当插入当前时间到db时,哪种方式更好?

时间:2010-06-24 06:56:03

标签: php

我想更新oracle db中的update_date字段。

我有两种方法可以做到这一点。哪一个更好?

1. $ now = date('Y-m-d H:i:s');

2. $ now =“TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS')”;

3 个答案:

答案 0 :(得分:1)

这取决于你是否要依赖php-server或oracle-server的时间。

答案 1 :(得分:1)

在版本#1上,PHP负责日期格式化。

在版本#2上,这是Oracle

如果Y-m-d H:i:s等同于YYYY-MM-DD HH24:MI:SS

,则几乎相同

如果您总是设置当前日期,我会说您可以在数据库端执行此操作:它将至少保存一个连接。

$sql = 'UPDATE foo SET date = TO_CHAR(CURRENT_TIMESTAMP, "YYYY-MM-DD HH24:MI:SS")';
// VERSUS
$sql = 'UPDATE foo SET date = "' . date('Y-m-d H:i:s') . '"';

答案 2 :(得分:1)

在第二个解决方案(2)中,假设1)数据库引擎时间正确(正确的时区等),以及2)您永远使用Oracle(否则,SQL查询可能会更改)。< / p>

如果您使用php(1),那么您可以确保从代码中解决时间问题(执行时区检查等)。此外,即使您打开另一个数据库引擎,查询也不会改变。