Giới thiệu
Từ MySQL 5.7, kiểu JSON hỗ trợ giá trị mặc định thông qua DEFAULT (JSON_OBJECT()) để khởi tạo đối tượng JSON rỗng {}.
Cú pháp
ALTER TABLE ten_bang
MODIFY COLUMN ten_cot JSON NOT NULL DEFAULT (JSON_OBJECT());
Ví dụ minh họa
Bước 1: Tạo bảng cột TEXT
CREATE TABLE demo24 (employee_information TEXT);
Bước 2: Chuyển sang JSON với DEFAULT
ALTER TABLE demo24
MODIFY COLUMN employee_information JSON NOT NULL DEFAULT (JSON_OBJECT());
Bước 3: Kiểm tra cấu trúc
DESC demo24;
+----------------------+------+------+-----+---------------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+------+------+-----+---------------+-------------------+
| employee_information | json | NO | | json_object() | DEFAULT_GENERATED |
+----------------------+------+------+-----+---------------+-------------------+
Bước 4: Chèn không chỉ định giá trị → tự động nhận {}
INSERT INTO demo24 VALUES ();
SELECT * FROM demo24;
+----------------------+
| employee_information |
+----------------------+
| {} |
+----------------------+
Lưu ý: DEFAULT_GENERATED chỉ ra giá trị mặc định được sinh bởi hàm. Không thể dùng hằng số JSON trực tiếp như DEFAULT '{}' (sẽ lỗi). Phải dùng DEFAULT (JSON_OBJECT()) hoặc DEFAULT (JSON_ARRAY()).