Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách thay đổi kích thước cột trong bảng MySQL

Chúng ta có thể sửa đổi kích thước cột với sự trợ giúp của lệnh ALTER. Hãy xem cách sửa đổi kích thước cột. Giả sử chúng ta định nghĩa một cột với một kích thước nào đó. Khi chèn dữ liệu nếu chúng ta đưa kích thước lớn hơn so với cái đã định nghĩa, thì lỗi sẽ sinh ra.

Vấn đề trên có thể được khắc phục bằng cách sửa đổi kích thước. Để hiểu rõ hơn, chúng ta có thể tạo một bảng với lệnh CREATE:

mysql> CREATE table ModifyColumnNameDemo
-> (
-> id int,
-> StudentName varchar(10)
-> );
Query OK, 0 rows affected (0.45 sec)

Sau khi tạo bảng thành công, chúng ta có thể chèn bản ghi vào bảng với lệnh INSERT.

mysql> INSERT into ModifyColumnNameDemo values(1,'CarolTaylor');
ERROR 1406 (22001): Data too long for column 'StudentName' at row 1

Từ truy vấn trên, chúng ta nhận được lỗi 1406. Lỗi này có thể được giải quyết bằng cách sửa đổi cột. Chúng ta có thể dùng lệnh ALTER cho việc này. Cú pháp như sau:

ALTER TABLE yourTableName MODIFY column_name;

Áp dụng truy vấn trên để sửa đổi kích thước cột thành một kích thước nào đó:

mysql> ALTER TABLE ModifyColumnNameDemo MODIFY StudentName VARCHAR(200);
Query OK, 0 rows affected (1.54 sec)
Records: 0 Duplicates: 0 Warnings: 0

Sau đó chúng ta có thể kiểm tra rằng kích thước cột 'StudentName' là 200. Truy vấn như sau:

mysql> DESC ModifyColumnNameDemo;

Đầu ra sau:

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id          | int(11)      | YES  |     | NULL    |       |
| StudentName | varchar(200) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

Nhìn cột StudentName ở trên, kích thước đã được thay thành 200. Bây giờ chúng ta có thể chèn bản ghi vào bảng và không còn lỗi. Hãy kiểm tra:

mysql> INSERT INTO ModifyColumnNameDemo VALUES(1,'CarolTaylor');
Query OK, 1 row affected (0.14 sec)

Bản ghi trên đã được chèn vào bảng thành công. Chúng ta có thể hiển thị bản ghi chèn ở trên với lệnh SELECT:

mysql> SELECT * FROM ModifyColumnNameDemo;

Đầu ra sau:

+------+-------------+
| id   | StudentName |
+------+-------------+
| 1    | CarolTaylor |
+------+-------------+
1 row in set (0.00 sec)

Nhìn đầu ra trên, bản ghi đã được chèn thành công sau khi sửa đổi kích thước cột.