Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 기본값을 JSON 유형 열로 설정하시겠습니까?


기본값을 설정하려면 아래 구문과 같이 DEFAULT 제약 조건을 사용하십시오 -

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

테이블을 만들어 봅시다 -

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

다음은 테이블에 대한 설명입니다. 다음은 쿼리입니다 -

mysql> desc demo24;

이것은 다음과 같은 출력을 생성합니다 -

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

다음은 기본값을 사용하여 JSON 데이터 유형으로 변경하는 쿼리입니다 -

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

이제 테이블의 설명을 확인하십시오. 다음은 쿼리입니다 -

mysql> desc demo24;

이것은 다음과 같은 출력을 생성합니다 -

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

insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -

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

select 문을 사용하여 테이블의 레코드 표시 -

mysql> select *from demo24;

이것은 다음과 같은 출력을 생성합니다 -

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