2013-03-16 159 views
0

你好,我需要在mysql表中存儲$ _SESSION ['login_time'] = time(),我需要創建一個像「login-time」這樣的列,但是我對這兩個數據類型感到困惑「時間戳「和」日期時間「。在這種情況下哪一個是有效的。如果您使用的是PHP的time()功能,讓你要插入的時候請幫我...mysql時間戳或日期時間

感謝

+0

你可以有你的問題的正確方向在這裏-http://stackoverflow.com/questions/409286/datetime-vs-timestamp – 2013-03-16 14:35:11

+0

http://stackoverflow.com/questions/409286/datetime-vs-timestamp – Aris 2013-03-16 14:37:07

回答

1

,它返回秒since the UNIX Epoch (Jan 1 1970 00:00:00 GMT)的時間。由於MySQL datetime數據類型支持broader range('1000-01-01 00:00:00'至'9999-12-31 23:59:59'),並且timestamp數據類型支持'1970-01-01 00 :00:01'UTC到'2038-01-19 03:14:07'UTC(從time()開始處開始),你可以繼續前進並使用timestamp,因爲它在概念上比較好一點。 (除非你打算在2038年之後存儲日期,在這種情況下,用datetime發瘋)。要麼在你的情況下工作,但datetype vs timestamp問題提供了更多關於使用的信息。

0

Clearely,在這裏,時間戳是最好的選擇。 當這樣的問題出現時,ton回答它的唯一方法是「我存儲的含義是什麼」。登錄時間是您需要更新多次的「時間點」。 因此,在你面對的兩種類型之間,你會選擇一種意思是「時間點」而不是「日期和時間日期」的意思。 DateTime在這裏存儲所有過期的東西。時間戳就在這裏標記時間。

登錄時間根據定義一個時間戳,所以使用Timstamp類型必須更明智和更高效。

這個答案的唯一限制是時間戳技術僅限於2038年

+1

您可能想提及一個'TIMESTAMP'(可以被覆蓋)的「自動更新」行爲,但通常會讓人感到意外。 – spencer7593 2013-03-16 14:56:43