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

Thay đổi cột VARCHAR cho phép NULL trong MySQL (ALTER TABLE CHANGE)

Sử dụng ALTER TABLE ... CHANGE để sửa đổi định nghĩa cột, thêm NULL DEFAULT NULL.

Ví dụ minh họa

Tạo bảng (cột NOT NULL mặc định):

mysql> CREATE TABLE DemoTable1356 (FirstName VARCHAR(30));

Sửa cột cho phép NULL, DEFAULT NULL:

mysql> ALTER TABLE DemoTable1356 CHANGE FirstName FirstName VARCHAR(30) NULL DEFAULT NULL;

Chèn dữ liệu (có NULL):

mysql> INSERT INTO DemoTable1356 VALUES('Adam'), ('John'), (), ('Bob'), (NULL);

Xem kết quả (có 2 NULL):

mysql> SELECT * FROM DemoTable1356;
+-----------+
| FirstName |
+-----------+
| Adam      |
| John      |
| NULL      |
| Bob       |
| NULL      |
+-----------+

Cú pháp CHANGE: ALTER TABLE ten_bang CHANGE ten_cu ten_moi kieu_du_lieu [NULL|NOT NULL] [DEFAULT gia_tri];

Lưu ý:

  • Phải lặp lại tên cột (FirstName FirstName) ngay cả khi không đổi tên.
  • Nếu cột đã có dữ liệu NOT NULL, chuyển sang NULL an toàn. Ngược lại (NULL → NOT NULL) sẽ lỗi nếu có dữ liệu NULL.
  • MySQL 8.0: có thể dùng ALTER TABLE ... MODIFY FirstName VARCHAR(30) NULL (ngắn gọn hơn, không cần lặp tên).