Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: การเปลี่ยนขนาดคอลัมน์ (Modify Column Size) ด้วย ALTER TABLE


เปลี่ยนขนาดคอลัมน์ได้ด้วยคำสั่ง 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 |
+------+-------------+