2010-08-15 12 views
7

मुझे किसी तालिका के लिए टाइमस्टैम्प फ़ील्ड बनाने की आवश्यकता है, जिसकी पंक्तियों को निश्चित समय के बाद समाप्त होने की आवश्यकता है। अगर मैं निम्नलिखित का उपयोग करें:युग के समय के रूप में डिफ़ॉल्ट रूप से फ़ील्ड बनाएं

`timestamp` TIMESTAMP DEFAULT NOW(), 

यह एक मानव पठनीय प्रारूप में समय से पता चलता है, यह अगर मैं इसे युग समय में है तो मैं सेकंड के साथ गणना कर सकते हैं सकता है एक बहुत आसान होगा। क्या कोई ऐसा तरीका है जिससे मैं एक ऐसा क्षेत्र बना सकूं जो वर्तमान समय को प्रदर्शित करेगा जब डिफ़ॉल्ट रूप से युग समय में एक पंक्ति बनाई जाती है? धन्यवाद!

उत्तर

6

आप अपने SELECT बयान में UNIX_TIMESTAMP() समारोह का उपयोग करने के निम्न उदाहरण में चाहते हो सकता है:

CREATE TABLE test_tb (`timestamp` TIMESTAMP DEFAULT NOW()); 
INSERT INTO test_tb VALUES (DEFAULT); 

SELECT UNIX_TIMESTAMP(`timestamp`) epoch, `timestamp` FROM test_tb; 
+------------+---------------------+ 
| epoch  | timestamp   | 
+------------+---------------------+ 
| 1281834891 | 2010-08-15 03:14:51 | 
+------------+---------------------+ 
1 row in set (0.00 sec) 
+0

आह मैं देख रहा हूँ, यह डिफ़ॉल्ट रूप से उस तरह से प्रवेश किया है करने के लिए तो कोई रास्ता नहीं। लेकिन मैं इसे अपने 'चयन' कथन में, कुछ भी नहीं से बेहतर उपयोग कर सकता हूं। धन्यवाद डैनियल! जैसे ही एसओ मुझे अनुमति देता है, मैं आपको सही के रूप में चिह्नित करूंगा। –

+1

@ बेन: असल में, 'TIMESTAMP' डेटा प्रकार स्टोर [डॉक्स] के अनुसार, युग प्रारूप में दिनांक (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-type -overview.html)। हालांकि, 'SELECT' कथन डिफ़ॉल्ट रूप से "मानव पठनीय रूप" में मान प्रस्तुत करता है। 'UNIX_TIMESTAMP()' फ़ंक्शन का उपयोग इस स्वरूपण को ओवरराइड करता है। –

+0

आह, दिलचस्प। धन्यवाद। मैं मदद की सराहना करता हूं! –

संबंधित मुद्दे