UNIX_TIMESTAMP() या UNIX_TIMESTAMP(NOW()) फ़ंक्शन का उपयोग करके वर्तमान समय को यूनिक्स टाइमस्टैम्प (सेकंड, 1970 से) के रूप में पूर्णांक कॉलम में संग्रहीत करें।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1894 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DueTime INT
);
डेटा डालें (DueTime NULL)
mysql> INSERT INTO DemoTable1894 VALUES(), (), ();
वर्तमान यूनिक्स टाइमस्टैम्प से अपडेट करें
mysql> UPDATE DemoTable1894 SET DueTime = UNIX_TIMESTAMP(NOW());
परिणाम
+----+------------+ | Id | DueTime | +----+------------+ | 1 | 1576042722 | | 2 | 1576042722 | | 3 | 1576042722 | +----+------------+
व्याख्या
NOW()→ वर्तमान दिनांक-समय।UNIX_TIMESTAMP(NOW())→ सेकंड में यूनिक्स टाइमस्टैम्प (पूर्णांक)।- सभी पंक्तियों को समान मान मिलता है (क्वेरी निष्पादन समय)।
संबंधित फ़ंक्शन
| फ़ंक्शन | विवरण |
|---|---|
UNIX_TIMESTAMP() | वर्तमान समय का टाइमस्टैम्प (तर्क के बिना) |
UNIX_TIMESTAMP(date) | निर्दिष्ट दिनांक का टाइमस्टैम्प |
FROM_UNIXTIME(ts) | टाइमस्टैम्प → DATETIME |
CURRENT_TIMESTAMP | NOW() समान (मानक) |
बेहतर डिज़ाइन: TIMESTAMP कॉलम
ALTER TABLE DemoTable1894 MODIFY DueTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
लाभ: स्वचालित टाइमज़ोन रूपांतरण, इंडेक्सेबल, पठनीय।
नोट
INT(32-बिट) 2038 वर्ष तक समर्थन करता है (Y2K38 समस्या)।- लंबी अवधि के लिए
BIGINTयाTIMESTAMP/DATETIMEउपयोग करें। - एप्लिकेशन लेयर पर टाइमस्टैम्प जनरेट करना अक्सर बेहतर (सुसंगतता)।