ON UPDATE CURRENT_TIMESTAMP परिभाषित करता है कि एक्सप्लिसिट टाइमस्टैम्प के बिना एक अपडेट करंट टाइमस्टैम्प मान में अपडेट होगा।
आप ALTER कमांड का उपयोग करके किसी कॉलम से ON UPDATE CURRENT_TIMESTAMP हटा सकते हैं।
सिंटैक्स निम्नलिखित है:
ALTER TABLE yourTableName CHANGE yourTimeStampColumnName yourTimeStampColumnName TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
उपरोक्त सिंटैक्स को समझने के लिए, आइए एक टेबल बनाते हैं। टेबल बनाने की क्वेरी निम्नलिखित है:
mysql> create table removeOnUpdateCurrentTimeStampDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> UserUpdateTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-> ); Query OK, 0 rows affected (0.54 sec)
DESC कमांड का उपयोग करके टेबल का विवरण जांचें।
क्वेरी निम्नलिखित है:
mysql> desc removeOnUpdateCurrentTimeStampDemo;
निम्नलिखित आउटपुट है:
+---------------------+-------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+-----------------------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +---------------------+-------------+------+-----+-------------------+-----------------------------+ 3 rows in set (0.04 sec)
अब Extra फील्ड में on update CURRENT_TIMESTAMP है। ON UPDATE CURRENT_TIMESTAMP हटाने की क्वेरी निम्नलिखित है:
mysql> alter table removeOnUpdateCurrentTimeStampDemo
-> change UserUpdateTimestamp UserUpdateTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0
एक बार फिर टेबल का विवरण जांचें।
क्वेरी निम्नलिखित है:
mysql> desc removeOnUpdateCurrentTimeStampDemo;
निम्नलिखित आउटपुट है:
+---------------------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | | +---------------------+-------------+------+-----+-------------------+----------------+ 3 rows in set (0.00 sec)
यदि आप DEFAULT CURRENT_TIMESTAMP भी हटाना चाहते हैं, तो क्वेरी निम्नलिखित है:
mysql> alter table removeOnUpdateCurrentTimeStampDemo
-> change UserUpdateTimestamp UserUpdateTimestamp TIMESTAMP NOT NULL;
Query OK, 0 rows affected (0.12 sec)
Records: 0 Duplicates: 0 Warnings: 0
एक बार फिर टेबल का विवरण जांचें।
क्वेरी निम्नलिखित है:
mysql> desc removeOnUpdateCurrentTimeStampDemo;
निम्नलिखित आउटपुट है:
+---------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | NULL | | +---------------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
उपरोक्त सैंपल आउटपुट को देखें, हमने ON UPDATE CURRENT TIMESTAMP हटा दिया है।