คุณต้องใช้คำสั่ง ALTER TABLE พร้อมกับ MODIFY
ไวยากรณ์มีดังนี้
เปลี่ยนตาราง yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง syntaxOfAlterCommandDemo -> ( -> UserId int, -> UserName varchar(30), -> UserAge int, -> UserCityName varchar(50) -> );Query OK, 0 แถวได้รับผลกระทบ (0.51 วินาที)
ให้เราตรวจสอบคำอธิบายของตาราง
แบบสอบถามมีดังนี้
mysql> อธิบาย syntaxOfAlterCommandDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+--------------+-------------+------+----+---- -----+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+-------+| รหัสผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(30) | ใช่ | | NULL | || อายุผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(50) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+-------+4 แถวในชุด (0.04 วินาที)ตอนนี้ให้เราเปลี่ยนคอลัมน์ชื่อผู้ใช้จาก varchar(30) เป็น varchar(100) จำไว้ว่าตอนนี้เราได้ตั้งค่าคอลัมน์ชื่อผู้ใช้เป็น varchar(30) แบบสอบถามมีดังต่อไปนี้เพื่อเปลี่ยนคอลัมน์
mysql> แก้ไขตาราง syntaxOfAlterCommandDemo แก้ไขคอลัมน์ ชื่อผู้ใช้ varchar(100) ไม่ใช่ NULL ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.36 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0
ให้เราตรวจสอบรายละเอียดตารางอีกครั้ง
แบบสอบถามมีดังนี้
mysql> อธิบาย syntaxOfAlterCommandDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+--------------+--------------+------+----+--- ------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+--------------+------+ -----+---- -----+-------+| รหัสผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(100) | ไม่ | | NULL | || อายุผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(50) | ใช่ | | NULL | |+-------------+-------------+------+-----+----- ----+-------+4 แถวในชุด (0.00 วินาที)ดูผลลัพธ์ตัวอย่างด้านบน คอลัมน์ชื่อผู้ใช้ตอนนี้คือ varchar(100)