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).