ทำได้ครับ สามารถเพิ่มคอลัมน์ก่อนคอลัมน์อื่นได้ง่ายๆ ด้วยคำสั่ง ALTER
หมายเหตุ: หากต้องการเพิ่มคอลัมน์ที่ตำแหน่งเฉพาะในแถวตาราง ให้ใช้ FIRST หรือ AFTER col_name
สร้างตารางตัวอย่าง
mysql> create table DemoTable (
-> Id int,
-> Name varchar(20),
-> CountryName varchar(100)
-> );
Query OK, 0 rows affected (0.67 sec)
ตรวจสอบชื่อคอลัมน์ทั้งหมด
mysql> show columns from DemoTable;
ผลลัพธ์
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | | CountryName | varchar(100) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
คำสั่งเพิ่มคอลัมน์ก่อนคอลัมน์อื่น
mysql> alter table DemoTable add Age int AFTER Name; Query OK, 0 rows affected (1.50 sec) Records: 0 Duplicates: 0 Warnings: 0
ตรวจสอบคอลัมน์อีกครั้ง
mysql> show columns from DemoTable;
ผลลัพธ์
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | CountryName | varchar(100) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
คอลัมน์ Age ถูกเพิ่มเข้าไปหลังคอลัมน์ Name เรียบร้อยแล้ว