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

Thiết lập giá trị mặc định (DEFAULT) cho cột kiểu JSON trong MySQL

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