2010-03-18 6 views
7

PHP를 통해 읽을 수있는 MySQL 테이블에 사용자 정의 속성을 추가하고 싶습니다.MySQL 테이블에 메타 데이터 속성 추가하기

이러한 속성은 테이블 자체를 방해하지 않습니다. 코드 생성시 PHP 코드가 주로 액세스하며 이러한 속성은 DB 자체에 있어야합니다.

.NET 리플렉션과 비슷한 개념입니다.

MySQL에서 이와 유사한 기능을 지원합니까?

감사합니다.

답변

5

CREATE 또는 ALTER 테이블을 사용하는 경우 COMMENTS을 추가 할 수 있습니다 (전체 테이블 하나와 각 열에 하나씩). 이러한 주석을 검색하려면 INFORMATION_SCHEMA 데이터베이스, 특히 INFORMATION_SCHEMA.COLUMNS.COLUMNS_COMMENTINFORMATION_SCHEMA.TABLE.TABLE_COMMENTS 열을 쿼리 할 수 ​​있습니다. INFORMATION_SCHEMADESCRIBE 문에서 제공하는 데이터를 비롯하여 데이터베이스에 대한 많은 메타 데이터를 제공합니다. 특정 테이블이나 열에 대한 읽기 권한이있는 사용자는 INFORMATION_SCHEMA에서 해당 메타 데이터를 읽을 수 있지만 읽기 권한이없는 테이블에 대한 메타 데이터는 읽을 수 없습니다.

사용자 지정 메타 데이터를 INFORMATION_SCHEMA에 저장하는 것이 자연 스럽지만 열당 COMMENT 개만 저장할 수 있으므로 필요에 따라 유연하지는 않습니다. 목적에 따라 제한적이거나 데이터를 정기적으로 업데이트해야하는 경우 @Dark Falcon을 따라 추가 테이블을 만들어야합니다.

1

어떤 종류의 속성입니까? 당신이 성찰을 언급하기 때문에, 나는 당신이 테이블 구조에 관해 뭔가를 찾으려한다고 가정합니다. 테이블 구조에 대해 알려주는 명령이 SQL이고 그 결과를 다른 쿼리로 반환한다는 것을 알고 계셨습니까? 이렇게하면 예를 들어 DESCRIBE TABLE과 같은 결과를 프로 그램 처리 할 수 ​​있습니다. 이게 니가 찾고있는거야?

+0

DESCRIBE TABLE에서 반환하는 정보에 정보를 추가하고 싶습니다. 내 자신의 CUSTOM 특성. – Jack

+0

길고 짧습니다. "너는 할 수 없어." table_name, field_name, attribute_name 등의 열이있는 별도의 테이블을 유지하십시오. –

관련 문제