ใช้ ALTER TABLE พร้อม ADD ... AFTER และ ALTER ... SET DEFAULT
สร้างตารางเดิม
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName VARCHAR(20),
StudentAge INT,
StudentCountryName VARCHAR(100)
);
โครงสร้างเดิม
mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentAge | int(11) | YES | | NULL | |
| StudentCountryName | varchar(100) | YES | | NULL | |
+--------------------+--------------+------+-----+---------+----------------+
เพิ่มคอลัมน์ StudentLastName หลัง StudentFirstName พร้อม DEFAULT 'Doe'
mysql> ALTER TABLE DemoTable
-> ADD StudentLastName VARCHAR(20) NOT NULL AFTER StudentFirstName;
mysql> ALTER TABLE DemoTable
-> ALTER StudentLastName SET DEFAULT 'Doe';
โครงสร้างหลังเพิ่ม
mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentLastName | varchar(20) | NO | | Doe | |
| StudentAge | int(11) | YES | | NULL | |
| StudentCountryName | varchar(100) | YES | | NULL | |
+--------------------+--------------+------+-----+---------+----------------+
สรุป: ใช้ AFTER ชื่อคอลัมน์ เพื่อระบุตำแหน่ง และ ALTER ... SET DEFAULT เพื่อตั้งค่าเริ่มต้น