কম্পিউটার টিউটোরিয়াল

MySQL-এ কলামের ডেটা টাইপ TEXT থেকে TIMESTAMP-এ পরিবর্তন

MySQL-এ কোনো কলামের ডেটা টাইপ TEXT` থেকে `TIMESTAMP`-এ পরিবর্তন করতে ALTER TABLE ... MODIFY COLUMN` কমান্ড ব্যবহার করা হয়।

সিনট্যাক্স

ALTER TABLE yourTableName MODIFY COLUMN yourColumnName TIMESTAMP;

উদাহরণ

টেবিল তৈরি (TEXT টাইপ সহ):

mysql> CREATE TABLE textTotimestampdemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Source TEXT
    -> );

টেবিল বর্ণনা:

mysql> DESC textTotimestampdemo;
+--------+---------+------+-----+---------+----------------+
| Field  | Type    | Null | Key | Default | Extra          |
+--------+---------+------+-----+---------+----------------+
| Id     | int(11) | NO   | PRI | NULL    | auto_increment |
| Source | text    | YES  |     | NULL    |                |
+--------+---------+------+-----+---------+----------------+

কলাম টাইপ পরিবর্তন:

mysql> ALTER TABLE textTotimestampdemo MODIFY COLUMN Source TIMESTAMP;
Query OK, 0 rows affected (1.25 sec)

আবার টেবিল বর্ণনা:

mysql> DESC textTotimestampdemo;
+--------+-----------+------+-----+---------+----------------+
| Field  | Type      | Null | Key | Default | Extra          |
+--------+-----------+------+-----+---------+----------------+
| Id     | int(11)   | NO   | PRI | NULL    | auto_increment |
| Source | timestamp | YES  |     | NULL    |                |
+--------+-----------+------+-----+---------+----------------+

সতর্কতা: TEXT কলামে যদি নন-ডেট ডেটা (যেমন "hello") থাকে, তবে TIMESTAMP-এ কনভার্ট করলে সেগুলো NULL` বা `0000-00-00 00:00:00` হয়ে যেতে পারে। ডেটা লস না হয় সেজন্য আগে ডেটা ভ্যালিডেট করুন।

  1. MySQL টেবিল থেকে শব্দ নির্বাচন করে টেক্সটে খোঁজা

  2. MySQL-এ ALTER TABLE CHANGE ব্যবহার করে কলামকে NULLable করা (VARCHAR থেকে NULL ডিফল্ট)

  3. MySQL-এ DATE_FORMAT() ফাংশন ব্যবহার করে ডেট কলামের ফরম্যাট পরিবর্তন করা

  4. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা