MySQL-এ রেকর্ড ইনসার্ট হওয়ার সময় স্বয়ংক্রিয়ভাবে সংরক্ষণ করতে TIMESTAMP ডেটা টাইপে DEFAULT CURRENT_TIMESTAMP ব্যবহার করা হয়।
টেবিল তৈরি (ডিফল্ট টাইমস্ট্যাম্প সহ)
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Arrivaltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-> );
ডেটা ইনসার্ট (মিশ্রিত পদ্ধতি)
mysql> INSERT INTO DemoTable(Arrivaltime) VALUES('2018-01-31 10:34:56'); -- নির্দিষ্ট সময়
mysql> INSERT INTO DemoTable VALUES(); -- ডিফল্ট কারেন্ট টাইমস্ট্যাম্প
mysql> INSERT INTO DemoTable(Arrivaltime) VALUES('2019-01-31 11:10:12'); -- নির্দিষ্ট সময়
ফলাফল
mysql> SELECT * FROM DemoTable;
+----+---------------------+
| Id | Arrivaltime |
+----+---------------------+
| 1 | 2018-01-31 10:34:56 |
| 2 | 2019-05-02 12:50:24 | <-- কারেন্ট টাইমস্ট্যাম্প (ইনসার্ট সময়)
| 3 | 2019-01-31 11:10:12 |
+----+---------------------+
গুরুত্বপূর্ণ পয়েন্টস:
DEFAULT CURRENT_TIMESTAMPশুধুINSERTসময় কাজ করে- আপডেট সময় আপডেট করতে চাইলে:
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - MySQL 5.6.5+ এ একাধিক TIMESTAMP কলামে ডিফল্ট দেওয়া যায়
DATETIMEটাইপেও MySQL 8.0+ এDEFAULT CURRENT_TIMESTAMPব্যবহার করা যায়
আপডেটে ও টাইমস্ট্যাম্প পরিবর্তন করার টেবিল
CREATE TABLE DemoTable2 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UpdatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);