2010-06-24 75 views
1

我想更新oracle db中的update_date字段。當插入當前時間到db,哪種方式更好?

我有兩種方法來做到這一點。哪一個更好?

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

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

+0

不是一個orcale用戶,但我認爲這取決於Oracle如何格式應該看起來像。 – DrColossos 2010-06-24 07:07:30

回答

1

這取決於您是否要依賴php-server或oracle-server的時間。

+0

感謝您的回答。 – xdazzyy 2010-06-24 07:48:26

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') . '"'; 
+0

感謝您的回答。 – xdazzyy 2010-06-24 07:50:21

1

在你的第二個解決方案(2)你認爲1)你的數據庫引擎的時間是正確的(正確的時區等); 2)你永遠使用Oracle(否則,SQL查詢可能更改)。

如果你使用php(1),那麼你可以確保從代碼中解決時間問題(執行時區檢查等)。此外,即使您使用其他數據庫引擎,查詢也不會更改。

+0

這是真的! ;) – mexique1 2010-06-24 17:45:53