MySql

MySQL mysql의 DC2Type 배열 데이터 유형은 무엇입니까

베이스 공부 2021. 2. 14. 13:18
반응형

저는 최근에 Symfony2와 doctrine2로 작업 해 왔으며 특정 Symfony2 역할이 저장되는 DC2Type : array라는 독특한 데이터 유형을 깨달았습니다. 나에게 그것은 a가 총 요소 수를 나타내는 직렬화 된 PHP 배열처럼 보입니다. i는 배열 인덱스입니다.

값은 다음과 같습니다.

a:15:{i:0;s:32:"ROLE_SONATA_USER_ADMIN_USER_EDIT";i:1;s:32:"ROLE_SONATA_USER_ADMIN_USER_LIST";i:2;s:34:"ROLE_SONATA_USER_ADMIN_USER_CREATE";i:3;s:32:"ROLE_SONATA_USER_ADMIN_USER_VIEW";i:4;s:34:"ROLE_SONATA_USER_ADMIN_USER_DELETE";i:5;s:36:"ROLE_SONATA_USER_ADMIN_USER_OPERATOR";i:6;s:34:"ROLE_SONATA_USER_ADMIN_USER_MASTER";i:7;s:33:"ROLE_SONATA_USER_ADMIN_GROUP_EDIT";i:8;s:33:"ROLE_SONATA_USER_ADMIN_GROUP_LIST";i:9;s:35:"ROLE_SONATA_USER_ADMIN_GROUP_CREATE";i:10;s:33:"ROLE_SONATA_USER_ADMIN_GROUP_VIEW";i:11;s:35:"ROLE_SONATA_USER_ADMIN_GROUP_DELETE";i:12;s:37:"ROLE_SONATA_USER_ADMIN_GROUP_OPERATOR";i:13;s:35:"ROLE_SONATA_USER_ADMIN_GROUP_MASTER";i:14;s:10:"ROLE_ADMIN";}

이 데이터 유형이 무엇인지 알고 싶습니다.

그리고 다음 식별자는 무엇을 의미합니까?

s:

인터넷을 검색했지만 유용한 데이터가 없습니다.


 

해결 방법

 

이것은 데이터 유형이 아닙니다. 컬럼 유형이 LONGTEXT임을 알 수 있습니다. DC2Type : array는 필드의 주석입니다.

Doctrine은 필드의 주석을 열의 메타 데이터 저장 장소로 사용합니다. Mysql은 배열 저장을 허용하지 않기 때문에 Doctrine은 콘텐츠 직렬화를 해제하는 방법을 알기 위해 DC2Type : array를 주석으로 사용합니다.

아래 링크를 살펴보십시오.


언급 한 링크에서 DC2Type : enumvisibility 주석은 필드의 내용이 레코드가 표시되는지 여부를 나타내는 플래그임을 나타냅니다. 전혀 새로운 데이터 유형이 아닙니다. 데이터베이스 수준에서 도우미 전략으로 간주되어야합니다. Doctrine의 경우 사용자 지정 데이터 유형입니다.

 

참조 페이지 https://stackoverflow.com/questions/10346152

 

 

반응형