เปลี่ยนขนาดคอลัมน์ได้ด้วยคำสั่ง ALTER TABLE ถ้ากำหนดขนาดน้อยเกินไป แล้ว Insert ข้อมูลยาวกว่า จะเกิด Error
ตัวอย่างสร้างตารางและปัญหา
mysql> CREATE TABLE ModifyColumnNameDemo (
-> id INT,
-> StudentName VARCHAR(10)
-> );
mysql> INSERT INTO ModifyColumnNameDemo VALUES(1, 'CarolTaylor');
ERROR 1406 (22001): Data too long for column 'StudentName' at row 1
แก้ไขด้วย ALTER TABLE
Syntax:
ALTER TABLE yourTableName MODIFY column_name new_definition;
ใช้งาน:
mysql> ALTER TABLE ModifyColumnNameDemo MODIFY StudentName VARCHAR(200);
Query OK, 0 rows affected (1.54 sec)
ตรวจสอบโครงสร้างตาราง
mysql> DESC ModifyColumnNameDemo;
ผลลัพธ์:
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| StudentName | varchar(200) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
ขนาด StudentName กลายเป็น 200 แล้ว Insert ได้ปกติ:
mysql> INSERT INTO ModifyColumnNameDemo VALUES(1, 'CarolTaylor');
Query OK, 1 row affected (0.14 sec)
mysql> SELECT * FROM ModifyColumnNameDemo;
+------+-------------+
| id | StudentName |
+------+-------------+
| 1 | CarolTaylor |
+------+-------------+