Computer >> Máy Tính >  >> Lập trình >> MySQL

Đặt giá trị mặc định cho một cột kiểu JSON trong MySQL?


Để đặt giá trị mặc định, hãy sử dụng ràng buộc DEFAULT như trong cú pháp bên dưới -

alter table yourTableName modify column yourColumnName JSON NOT NULL DEFAULT ( JSON_OBJECT() );

Hãy để chúng tôi tạo một bảng -

mysql> create table demo24
−> (
−> employee_information text
−> )
−> ;
Query OK, 0 rows affected (1.43 sec)

Đây là mô tả của bảng. Sau đây là truy vấn -

mysql> desc demo24;

Điều này sẽ tạo ra kết quả sau -

+----------------------+------+------+-----+---------+-------+
| Field                | Type | Null | Key | Default | Extra |
+----------------------+------+------+-----+---------+-------+
| employee_information | text | YES  |     | NULL    |       | 
+----------------------+------+------+-----+---------+-------+
1 row in set (0.00 sec)

Sau đây là truy vấn để thay đổi nó thành kiểu dữ liệu JSON với giá trị mặc định -

mysql> alter table demo24 modify column employee_information JSON NOT NULL DEFAULT ( JSON_OBJECT() );
Query OK, 0 rows affected (3.03 sec)
Records: 0 Duplicates: 0 Warnings: 0

Bây giờ kiểm tra mô tả của bảng. Sau đây là truy vấn -

mysql> desc demo24;

Điều này sẽ tạo ra kết quả sau -

+----------------------+------+------+-----+---------------+-------------------+
| Field                | Type | Null | Key | Default       | Extra             |
+----------------------+------+------+-----+---------------+-------------------+
| employee_information | json | NO   |     | json_object() | DEFAULT_GENERATED |
+----------------------+------+------+-----+---------------+-------------------+
1 row in set (0.00 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo24 values();;
Query OK, 1 row affected (0.10 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo24;

Điều này sẽ tạo ra kết quả sau -

+----------------------+
| employee_information |
+----------------------+
| {}                   |
+----------------------+
1 row in set (0.00 sec)