ON UPDATE CURRENT_TIMESTAMP` আপডেটের সময় স্বয়ংক্রিয়ভাবে টাইমস্ট্যাম্প আপডেট করে। এটি সরিয়ে ফেলতে ALTER TABLE ... CHANGE` কমান্ড ব্যবহার করতে হয়।
সিনট্যাক্স
ALTER TABLE yourTableName CHANGE yourTimeStampColumnName yourTimeStampColumnName TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
উদাহরণ
টেবিল তৈরি (ON UPDATE 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
-> );
টেবিল বর্ণনা দেখি:
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 | +---------------------+-------------+------+-----+-------------------+-----------------------------+
Extra` কলামে `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)
আবার টেবিল বর্ণনা:
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 | | +---------------------+-------------+------+-----+-------------------+----------------+
Extra` কলাম থেকে `on update CURRENT_TIMESTAMP` গিয়ে গেছে। যদি ডিফল্ট `CURRENT_TIMESTAMP`-ও সরাতে চান:
mysql> ALTER TABLE removeOnUpdateCurrentTimeStampDemo
-> CHANGE UserUpdateTimestamp UserUpdateTimestamp TIMESTAMP NOT NULL;
তब Default এবং Extra` দুটোই খালি হয়ে যাবে।