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

Thay đổi kích thước cột (tăng độ dài) trong MySQL?

Sử dụng ALTER TABLE ... CHANGE ten_cot ten_cot kieu_du_lieu_moi (giữ nguyên tên cột).

Cú pháp:

ALTER TABLE ten_bang CHANGE ten_cot ten_cot VARCHAR(kich_thuoc_moi);

Ví dụ: Cột Name VARCHAR(5) bị lỗi "Data too long" khi chèn 'JohnSmith':

CREATE TABLE DataTruncated (id INT, Name VARCHAR(5));
INSERT INTO DataTruncated VALUES (101, 'JohnSmith'); -- ERROR 1406

Tăng kích thước lên 200:

ALTER TABLE DataTruncated CHANGE Name Name VARCHAR(200);

Chèn lại thành công:

INSERT INTO DataTruncated VALUES (101, 'JohnSmith');
SELECT * FROM DataTruncated;

Kết quả

+------+-----------+
| id   | Name      |
+------+-----------+
|  101 | JohnSmith |
+------+-----------+

Lưu ý:

  • Giảm kích thước có thể bị cắt dữ liệu (truncate) nếu dữ liệu hiện tại dài hơn.
  • Thay đổi kiểu dữ liệu (VARCHAR → TEXT, INT → BIGINT...) cũng dùng cú pháp này.
  • MySQL 8.0+ hỗ trợ ALTER TABLE ... MODIFY COLUMN (không cần lặp tên cột 2 lần).